aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/objc-act.h
diff options
context:
space:
mode:
authorNicola Pero <nicola@gcc.gnu.org>2010-12-29 12:22:09 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-12-29 12:22:09 +0000
commitb4f588c48d3530ab687647ea2bc932656d2b5822 (patch)
treeb230ef90327ea01e66ce4b5ffb26d4bc66c4dbba /gcc/objc/objc-act.h
parent51361a93c647867059dde0fcbfcd32a4193e3d12 (diff)
downloadgcc-b4f588c48d3530ab687647ea2bc932656d2b5822.zip
gcc-b4f588c48d3530ab687647ea2bc932656d2b5822.tar.gz
gcc-b4f588c48d3530ab687647ea2bc932656d2b5822.tar.bz2
In gcc/c-family/: 2010-12-29 Nicola Pero <nicola@nicola.brainstorm.co.uk>
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. From-SVN: r168315
Diffstat (limited to 'gcc/objc/objc-act.h')
-rw-r--r--gcc/objc/objc-act.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/objc/objc-act.h b/gcc/objc/objc-act.h
index 7e8e418..4d023e8 100644
--- a/gcc/objc/objc-act.h
+++ b/gcc/objc/objc-act.h
@@ -144,6 +144,11 @@ typedef enum objc_property_assign_semantics {
use it. */
#define PROPERTY_REF_GETTER_CALL(NODE) TREE_OPERAND (PROPERTY_REF_CHECK (NODE), 2)
+/* PROPERTY_REF_DEPRECATED_GETTER is normally set to NULL_TREE. If
+ the property getter is deprecated, it is set to the method
+ prototype for it, which is used to generate the deprecation warning
+ when the getter is used. */
+#define PROPERTY_REF_DEPRECATED_GETTER(NODE) TREE_OPERAND (PROPERTY_REF_CHECK (NODE), 3)
/* CLASS_INTERFACE_TYPE, CLASS_IMPLEMENTATION_TYPE,
CATEGORY_INTERFACE_TYPE, CATEGORY_IMPLEMENTATION_TYPE,