bd52d17906
too large to list, but see: http://gcc.gnu.org/gcc-3.4/changes.html http://gcc.gnu.org/gcc-4.0/changes.html http://gcc.gnu.org/gcc-4.1/changes.html for the details.
36 lines
821 B
Plaintext
36 lines
821 B
Plaintext
/* Bail out gracefully if attempting to derive from a class that has only been
|
|
forward-declared (via @class). Conversely, @compatibility_alias declarations
|
|
should be traversed to find the @interface. */
|
|
|
|
/* { dg-do compile } */
|
|
|
|
#include <objc/Object.h>
|
|
|
|
@class MyWpModule;
|
|
|
|
@compatibility_alias MyObject Object;
|
|
@compatibility_alias FictitiousModule MyWpModule;
|
|
|
|
@protocol MySelTarget
|
|
- (id) meth1;
|
|
@end
|
|
|
|
@protocol Img
|
|
- (id) meth2;
|
|
@end
|
|
|
|
@interface FunnyModule: FictitiousModule <Img> /* { dg-error ".MyWpModule., superclass of .FunnyModule." } */
|
|
- (id) meth2;
|
|
@end
|
|
|
|
@interface MyProjWpModule : MyWpModule <MySelTarget, Img> /* { dg-error ".MyWpModule., superclass of .MyProjWpModule." } */ {
|
|
id i1, i2;
|
|
}
|
|
- (id) meth1;
|
|
- (id) meth2;
|
|
@end
|
|
|
|
@interface AnotherModule: MyObject <MySelTarget>
|
|
- (id) meth1;
|
|
@end
|