OSDN Git Service

In gcc/objc/:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Nov 2010 11:11:18 +0000 (11:11 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Nov 2010 11:11:18 +0000 (11:11 +0000)
commit25bf03837aac94d1deb2d0b87f442cd65d23bbea
treeb6f11702f34e4302b1b845cbdea6c13f0797e1f5
parent146ab3394d9cdbe6b6b4260e4bd4e9dffa66517f
In gcc/objc/:
2010-11-14  Nicola Pero  <nicola.pero@meta-innovation.com>

        * objc-act.c (objc_add_property_declaration): Check that the decl
        we received from the parser is a FIELD_DECL; reject array and
        bitfield properties.  Convert the warning when a property is
        readonly and a setter is specified into an error.  Convert errors
        when a property declaration does not match a property declaration
        in a superclass into warnings.
        (objc_add_synthesize_declaration_for_property): Use
        DECL_BIT_FIELD_TYPE to determine the type of an instance variable
        if it is a bitfield.  Throw an error if we are asked to synthesize
        setters/getters for a bitfield instance variable but the property
        is not appropriate - it must be assign and nonatomic.  If the
        property is readonly, allow the instance variable type to be a
        specialization of the property type.
        (objc_type_valid_for_messaging): Fixed returning 'false' for a
        Class qualified with a protocol when the 'accept_classes' argument
        is 'false'.

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

        * objc.dg/property/at-property-21.m: New.
        * objc.dg/property/at-property-22.m: New.
        * objc.dg/property/at-property-23.m: New.
        * objc.dg/property/synthesize-9.m: New.
        * objc.dg/property/synthesize-10.m: New.
        * objc.dg/property/synthesize-11.m: New.
        * obj-c++.dg/property/at-property-21.mm: New.
        * obj-c++.dg/property/at-property-22.mm: New.
        * obj-c++.dg/property/at-property-23.mm: New.
        * obj-c++.dg/property/synthesize-9.mm: New.
        * obj-c++.dg/property/synthesize-10.mm: New.
        * obj-c++.dg/property/synthesize-11.mm: New.

        * objc.dg/property/at-property-4.m: Updated to match new compiler
        where some errors have been converted into warnings and vice versa.
        * objc.dg/property/at-property-16.m: Same change.
        * objc.dg/property/at-property-18.m: Same change.
        * objc.dg/property/property-neg-5.m: Same change.
        * obj-c++.dg/property/at-property-4.mm: Same change.
        * obj-c++.dg/property/at-property-16.mm: Same change.
        * obj-c++.dg/property/at-property-18.mm: Same change.
        * obj-c++.dg/property/property-neg-5.mm: Same change.

        * obj-c++.dg/property/dynamic-2.mm: Enable tests that were
        commented out because of testsuite problems; I found out that
        using dg-warning instead of dg-message gets them to work.
        * obj-c++.dg/property/property-neg-3.mm: Same change.
        * obj-c++.dg/property/synthesize-6.mm: Same change.
        * obj-c++.dg/property/at-property-5.mm: Same change.
        * obj-c++.dg/property/at-property-14.mm: Same change.
        * obj-c++.dg/property/at-property-18.mm: Same change.
        * obj-c++.dg/property/at-property-16.mm: Same change (in this file,
        some tests still do not work due to some other testsuite issue).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166730 138bc75d-0d04-0410-961f-82ee72b054a4
28 files changed:
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/testsuite/ChangeLog
gcc/testsuite/obj-c++.dg/property/at-property-14.mm
gcc/testsuite/obj-c++.dg/property/at-property-16.mm
gcc/testsuite/obj-c++.dg/property/at-property-18.mm
gcc/testsuite/obj-c++.dg/property/at-property-21.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/at-property-22.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/at-property-23.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/at-property-4.mm
gcc/testsuite/obj-c++.dg/property/at-property-5.mm
gcc/testsuite/obj-c++.dg/property/dynamic-2.mm
gcc/testsuite/obj-c++.dg/property/property-neg-3.mm
gcc/testsuite/obj-c++.dg/property/property-neg-5.mm
gcc/testsuite/obj-c++.dg/property/synthesize-10.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/synthesize-11.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/synthesize-6.mm
gcc/testsuite/obj-c++.dg/property/synthesize-9.mm [new file with mode: 0644]
gcc/testsuite/objc.dg/property/at-property-16.m
gcc/testsuite/objc.dg/property/at-property-18.m
gcc/testsuite/objc.dg/property/at-property-21.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/at-property-22.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/at-property-23.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/at-property-4.m
gcc/testsuite/objc.dg/property/property-neg-5.m
gcc/testsuite/objc.dg/property/synthesize-10.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-11.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/synthesize-9.m [new file with mode: 0644]