In gcc/c-family/:
authornicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Dec 2010 12:22:09 +0000 (12:22 +0000)
committernicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Dec 2010 12:22:09 +0000 (12:22 +0000)
commitd67e8485b0d4b4caccd7052b993bedb27bd06b16
treeb230ef90327ea01e66ce4b5ffb26d4bc66c4dbba
parent3ada057c9c1360990e0568c5938e45d37008ee64
In gcc/c-family/:
2010-12-29  Nicola Pero  <nicola@nicola.brainstorm.co.uk>

PR objc/47075
* c-objc.h (objc_finish_message_expr): Added argument to
prototype.

In gcc/objc/:
2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>

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  <nicola.pero@meta-innovation.com>

* objcp-lang.c (objcp_tsubst_copy_and_build): Update call to
objc_finish_message_expr.

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

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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168315 138bc75d-0d04-0410-961f-82ee72b054a4
15 files changed:
gcc/c-family/ChangeLog
gcc/c-family/c-objc.h
gcc/objc/ChangeLog
gcc/objc/objc-act.c
gcc/objc/objc-act.h
gcc/objc/objc-tree.def
gcc/objcp/ChangeLog
gcc/objcp/objcp-lang.c
gcc/testsuite/ChangeLog
gcc/testsuite/obj-c++.dg/property/at-property-deprecated-1.mm
gcc/testsuite/obj-c++.dg/property/at-property-deprecated-2.mm [new file with mode: 0644]
gcc/testsuite/obj-c++.dg/property/dotsyntax-deprecated-1.mm [new file with mode: 0644]
gcc/testsuite/objc.dg/property/at-property-deprecated-1.m
gcc/testsuite/objc.dg/property/at-property-deprecated-2.m [new file with mode: 0644]
gcc/testsuite/objc.dg/property/dotsyntax-deprecated-1.m [new file with mode: 0644]