URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [objc.dg/] [private-2.m] - Rev 154
Compare with Previous | Blame | View Log
/* Test warnings for shadowing instance variables. */ /* Author: Nicola Pero <nicola@brainstorm.co.uk>. */ /* { dg-do compile } */ #include <objc/objc.h> @interface MySuperClass { @private int private; @protected int protected; @public int public; } - (void) test; @end @implementation MySuperClass - (void) test { /* FIXME: I wonder if the warnings shouldn't be better generated when the variable is declared, rather than used! */ int private = 12; int protected = 12; int public = 12; int a; a = private; /* { dg-warning "hides instance variable" } */ a = protected; /* { dg-warning "hides instance variable" } */ a = public; /* { dg-warning "hides instance variable" } */ } @end @interface MyClass : MySuperClass @end @implementation MyClass - (void) test { int private = 12; int protected = 12; int public = 12; int a; /* The private variable can be shadowed without warnings, because * it's invisible, and not accessible, to the subclass! */ a = private; /* Ok */ a = protected; /* { dg-warning "hides instance variable" } */ a = public; /* { dg-warning "hides instance variable" } */ } @end