diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-11-01 21:12:12 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-11-01 21:12:12 +0000 |
commit | 8f78939bbf5706bec999fe2b2425eeea8f48f239 (patch) | |
tree | 291eda46a4b7cc011568cfec681b056cfcddeac6 /gcc/objc/objc-act.c | |
parent | 7894073c2f67f53e1c8da85d2c92d71701eff9fb (diff) | |
download | gcc-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.c | 10 |
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; |