URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [objc.dg/] [private-2.m] - Rev 704
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