http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47075
--- Comment #2 from Nicola Pero 2010-12-29 12:22:13
UTC ---
Author: nicola
Date: Wed Dec 29 12:22:09 2010
New Revision: 168315
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168315
Log:
In gcc/c-family/:
2010-12-29 Nicola Pero
PR objc/47075
* c-objc.h (objc_finish_message_expr): Added argument to
prototype.
In gcc/objc/:
2010-12-29 Nicola Pero
PR objc/47075
* objc-act.h (PROPERTY_REF_DEPRECATED_GETTER): New.
* objc-tree.def (PROPERTY_REF): Increased the number of operands
from 3 to 4.
* objc-act.c (objc_finish_message_expr): Added optional argument
allowing to return the deprecated method prototype for deprecated
methods, instead of immediately emitting the deprecation warning.
(objc_maybe_build_component_ref): Do not warn for a deprecated
property. When building the getter call, get the deprecated
method prototype from objc_finish_message_expr() and put it into
the PROPERTY_REF.
(objc_build_class_component_ref): Same change.
(finish_class): Mark the getter and setter as deprecated if they
are generated from a deprecated property.
(objc_gimplify_property_ref): If the getter is deprecated, emit a
deprecation warning.
(objc_build_setter_call, objc_build_message_expr,
objc_finish_foreach_loop): Updated call to
objc_finish_message_expr.
In gcc/objcp/:
2010-12-29 Nicola Pero
* objcp-lang.c (objcp_tsubst_copy_and_build): Update call to
objc_finish_message_expr.
In gcc/testsuite/:
2010-12-29 Nicola Pero
PR objc/47075
* objc.dg/property/at-property-deprecated-1.m: Updated.
* objc.dg/property/at-property-deprecated-2.m: New.
* objc.dg/property/dotsyntax-deprecated-1.m: New.
* obj-c++.dg/property/at-property-deprecated-1.mm: Updated.
* obj-c++.dg/property/at-property-deprecated-2.mm: New.
* obj-c++.dg/property/dotsyntax-deprecated-1.mm: New.
Added:
trunk/gcc/testsuite/obj-c++.dg/property/at-property-deprecated-2.mm
trunk/gcc/testsuite/obj-c++.dg/property/dotsyntax-deprecated-1.mm
trunk/gcc/testsuite/objc.dg/property/at-property-deprecated-2.m
trunk/gcc/testsuite/objc.dg/property/dotsyntax-deprecated-1.m
Modified:
trunk/gcc/c-family/ChangeLog
trunk/gcc/c-family/c-objc.h
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-act.c
trunk/gcc/objc/objc-act.h
trunk/gcc/objc/objc-tree.def
trunk/gcc/objcp/ChangeLog
trunk/gcc/objcp/objcp-lang.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/obj-c++.dg/property/at-property-deprecated-1.mm
trunk/gcc/testsuite/objc.dg/property/at-property-deprecated-1.m