diff options
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. */ |