In gcc/objc/: 2010-11-08 Nicola Pero <nicola.pero@meta-innovation.com>
authorNicola Pero <nicola.pero@meta-innovation.com>
Mon, 8 Nov 2010 22:04:03 +0000 (22:04 +0000)
committerNicola Pero <nicola@gcc.gnu.org>
Mon, 8 Nov 2010 22:04:03 +0000 (22:04 +0000)
commit4741888d0321172ac91ee71c6a035d1048b49f39
treee521b56c661feaac63138566fed5a623b044b767
parent4ca5d2a7bdc3cd7182cbf0e1261a6df44d362d87
In gcc/objc/: 2010-11-08 Nicola Pero <nicola.pero@meta-innovation.com>

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.

From-SVN: r166456
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]