OSDN Git Service

In gcc/objc/:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 2010 22:04:03 +0000 (22:04 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 8 Nov 2010 22:04:03 +0000 (22:04 +0000)
commitc84ce30ab797252d51a4e5366be0d8cc6ade7057
treee521b56c661feaac63138566fed5a623b044b767
parent7f5203a813f3a6eeace3f7517a567e38f14b2290
In gcc/objc/:
2010-11-08  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_add_synthesize_declaration_for_property):
        Iterate over IMPL_PROPERTY_DECL, not CLASS_PROPERTY_DECL, when
        checking for an existing @synthesize or @dynamic declaration.
        Search for an inherited @property declaration if none is found in
        the local interface.  If the required instance variable does not
        exist, return instead of trying to continue to prevent a compiler
        crash later.  Check that the instance variable is not already
        being used by another @synthesize.
        (objc_add_dynamic_declaration_for_property): Iterate over
        IMPL_PROPERTY_DECL, not CLASS_PROPERTY_DECL, when checking for an
        existing @synthesize or @dynamic declaration.
        (objc_synthesize_getter): Search for the getter declaration in
        protocols and superclasses as well.
        (objc_synthesize_setter): Search for the setter declaration in
        protocols and superclasses as well.

In gcc/testsuite/:
2010-11-08  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc.dg/property/synthesize-3.m: New.
        * objc.dg/property/synthesize-4.m: New.
        * objc.dg/property/synthesize-5.m: New.
        * objc.dg/property/synthesize-6.m: New.
        * obj-c++.dg/property/synthesize-3.mm: New.
        * obj-c++.dg/property/synthesize-4.mm: New.
        * obj-c++.dg/property/synthesize-5.mm: New.
        * obj-c++.dg/property/synthesize-6.mm: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166456 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/testsuite/ChangeLog
gcc/testsuite/obj-c++.dg/property/synthesize-3.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/synthesize-4.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/synthesize-5.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/synthesize-6.mm [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-3.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-4.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-5.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-6.m [new file with mode: 0644]