diff options
author | Nicola Pero <nicola.pero@meta-innovation.com> | 2010-10-17 21:52:09 +0000 |
---|---|---|
committer | Nicola Pero <nicola@gcc.gnu.org> | 2010-10-17 21:52:09 +0000 |
commit | 90fbfdc31adfff5a614898af64600a4e34371345 (patch) | |
tree | 2d6e2e2e27434afe6a8c78faa3fe2eabe7e5ee36 /gcc/objc | |
parent | 2e01b76611fdd27cfb04d3bbb1b349cbecb9230c (diff) | |
download | gcc-90fbfdc31adfff5a614898af64600a4e34371345.tar.gz |
In gcc/: 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* c-decl.c (undeclared_variable): Issue diagnostic on
private 'ivar' access.
In gcc/c-family/:
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* c-common.h (objc_diagnose_private_ivar): New decl.
* stub-objc.c (objc_diagnose_private_ivar): New stub.
In gcc/cp/:
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from apple/trunk branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* lex.c (unqualified_name_lookup_error): Issue diagnostic
for private 'ivar' access.
In gcc/objc/:
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* objc-act.c (objc_diagnose_private_ivar): New.
In gcc/testsuite/:
2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
Merge from 'apple/trunk' branch on FSF servers.
2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
Radar 4133425
* objc.dg/private-1.m: Test modified.
* obj-c++.dg/private-1.mm: Test modified.
From-SVN: r165601
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 19 |
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 7917d60fa9b..83bef4deecb 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,12 @@ +2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> + + Merge from 'apple/trunk' branch on FSF servers. + + 2006-03-27 Fariborz Jahanian <fjahanian@apple.com> + + Radar 4133425 + * objc-act.c (objc_diagnose_private_ivar): New. + 2010-10-17 Iain Sandoe <iains@gcc.gnu.org> * objc-act.c: Rename 'objc_public_flag' to objc_ivar_visibility and diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 1be52d91b5c..904095495db 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -10821,6 +10821,25 @@ generate_objc_image_info (void) finish_var_decl (decl, objc_build_constructor (TREE_TYPE (decl), v)); } +/* Routine is called to issue diagnostic when reference to a private + ivar is made and no other variable with same name is found in + current scope. */ +bool +objc_diagnose_private_ivar (tree id) +{ + tree ivar; + if (!objc_method_context) + return false; + ivar = is_ivar (objc_ivar_chain, id); + if (ivar && is_private (ivar)) + { + error ("instance variable %qs is declared private", + IDENTIFIER_POINTER (id)); + return true; + } + return false; +} + /* Look up ID as an instance variable. OTHER contains the result of the C or C++ lookup, which we may want to use instead. */ /* Also handle use of property as setter/getter. */ |