78 lines
2.3 KiB
Objective-C
78 lines
2.3 KiB
Objective-C
/* Test warnings when using -fobjc-std=objc1. */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-fobjc-std=objc1" } */
|
|
/* { dg-additional-options "-Wno-objc-root-class" } */
|
|
|
|
#include <objc/objc.h>
|
|
|
|
@interface MyRootClass
|
|
{
|
|
Class isa;
|
|
@package /* { dg-error "not available in Objective.C 1.0" } */
|
|
int a;
|
|
int b;
|
|
}
|
|
+ (id) alloc __attribute__ ((deprecated)); /* { dg-error "not available in Objective.C 1.0" } */
|
|
+ (id) name;
|
|
- (id) init;
|
|
- (id) testMe: (id) __attribute__((unused)) argument; /* { dg-error "not available in Objective.C 1.0" } */
|
|
@property (nonatomic) int a; /* { dg-error "not available in Objective.C 1.0" } */
|
|
@property (nonatomic) int b; /* { dg-error "not available in Objective.C 1.0" } */
|
|
@end
|
|
|
|
@implementation MyRootClass
|
|
+ (id) alloc { return self; }
|
|
+ (id) name { return self; }
|
|
- (id) init { return self; }
|
|
- (id) testMe: (id) __attribute__((unused)) argument { return self; } /* { dg-error "not available in Objective.C 1.0" } */
|
|
@synthesize a; /* { dg-error "not available in Objective.C 1.0" } */
|
|
@dynamic b; /* { dg-error "not available in Objective.C 1.0" } */
|
|
@end
|
|
|
|
__attribute__ ((deprecated))
|
|
@interface MyRootClass2 /* { dg-error "class attributes are not available in Objective.C 1.0" } */
|
|
{
|
|
Class isa;
|
|
}
|
|
@end
|
|
|
|
__attribute__ ((deprecated))
|
|
@protocol MyProtocol
|
|
- (id) test; /* { dg-error "protocol attributes are not available in Objective.C 1.0" } */
|
|
@required /* { dg-error "not available in Objective.C 1.0" } */
|
|
- (id) variable __attribute__ ((deprecated)); /* { dg-error "not available in Objective.C 1.0" } */
|
|
@optional /* { dg-error "not available in Objective.C 1.0" } */
|
|
@end
|
|
|
|
@interface MyRootClass (NSFastEnumeration)
|
|
- (unsigned long)countByEnumeratingWithState: (struct __objcFastEnumerationState *)state
|
|
objects:(id *)stackbuf
|
|
count:(unsigned int)len;
|
|
@end
|
|
|
|
@class NSArray;
|
|
|
|
int array_length (NSArray *array)
|
|
{
|
|
int i = 0;
|
|
|
|
for (id object in array) /* { dg-error "not available in Objective.C 1.0" } */
|
|
i++;
|
|
|
|
return i;
|
|
}
|
|
|
|
id test (void)
|
|
{
|
|
return MyRootClass.name; /* { dg-error "not available in Objective.C 1.0" } */
|
|
}
|
|
|
|
@interface MyRootClass3
|
|
{
|
|
Class isa;
|
|
}
|
|
@end
|
|
|
|
@interface MyRootClass3 ()
|
|
@end /* { dg-error "not available in Objective.C 1.0" } */
|