aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc/objc-act.c
diff options
context:
space:
mode:
authorNicola Pero <nicola.pero@meta-innovation.com>2010-11-01 21:12:12 +0000
committerNicola Pero <nicola@gcc.gnu.org>2010-11-01 21:12:12 +0000
commit8f78939bbf5706bec999fe2b2425eeea8f48f239 (patch)
tree291eda46a4b7cc011568cfec681b056cfcddeac6 /gcc/objc/objc-act.c
parent7894073c2f67f53e1c8da85d2c92d71701eff9fb (diff)
downloadgcc-8f78939bbf5706bec999fe2b2425eeea8f48f239.zip
gcc-8f78939bbf5706bec999fe2b2425eeea8f48f239.tar.gz
gcc-8f78939bbf5706bec999fe2b2425eeea8f48f239.tar.bz2
In gcc/objc/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_maybe_build_component_ref): Warn about using deprecated properties. (objc_maybe_printable_name): Support PROPERTY_DECL. In gcc/testsuite/: 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> * objc.dg/property/at-property-deprecated-1.m: New. * obj-c++.dg/property/at-property-deprecated-1.mm: New. From-SVN: r166147
Diffstat (limited to 'gcc/objc/objc-act.c')
-rw-r--r--gcc/objc/objc-act.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 00e2a43..68639ce 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1122,6 +1122,9 @@ objc_maybe_build_component_ref (tree object, tree property_ident)
{
tree expression;
+ if (TREE_DEPRECATED (x))
+ warn_deprecated_use (x, NULL_TREE);
+
expression = build2 (PROPERTY_REF, TREE_TYPE(x), object, x);
SET_EXPR_LOCATION (expression, input_location);
TREE_SIDE_EFFECTS (expression) = 1;
@@ -11224,6 +11227,13 @@ objc_maybe_printable_name (tree decl, int v ATTRIBUTE_UNUSED)
case CLASS_METHOD_DECL:
return IDENTIFIER_POINTER (DECL_NAME (decl));
break;
+ /* This happens when printing a deprecation warning for a
+ property. We may want to consider some sort of pretty
+ printing (eg, include the class name where it was declared
+ ?). */
+ case PROPERTY_DECL:
+ return IDENTIFIER_POINTER (PROPERTY_NAME (decl));
+ break;
default:
return NULL;
break;