2009-03-24 10:24:46 +08:00
|
|
|
// RUN: clang-cc -triple i386-apple-darwin9 -fnext-runtime -emit-llvm -o %t %s &&
|
2008-09-04 12:36:23 +08:00
|
|
|
// RUN: grep '.lazy_reference .objc_class_name_A' %t | count 1 &&
|
|
|
|
// RUN: grep '.lazy_reference .objc_class_name_Unknown' %t | count 1 &&
|
|
|
|
// RUN: grep '.lazy_reference .objc_class_name_Protocol' %t | count 1 &&
|
2009-03-24 10:24:46 +08:00
|
|
|
// RUN: clang-cc -triple i386-apple-darwin9 -DWITH_IMPL -fnext-runtime -emit-llvm -o %t %s &&
|
2008-09-04 12:36:23 +08:00
|
|
|
// RUN: grep '.lazy_reference .objc_class_name_Root' %t | count 1
|
|
|
|
|
|
|
|
@interface Root
|
|
|
|
-(id) alloc;
|
|
|
|
-(id) init;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@protocol P;
|
|
|
|
|
|
|
|
@interface A : Root
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface A (Category)
|
|
|
|
+(void) foo;
|
|
|
|
@end
|
|
|
|
|
|
|
|
#ifdef WITH_IMPL
|
|
|
|
@implementation A
|
|
|
|
@end
|
|
|
|
#endif
|
|
|
|
|
|
|
|
@interface Unknown
|
|
|
|
+test;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
id x = @protocol(P);
|
|
|
|
[ A alloc ];
|
|
|
|
[ A foo ];
|
|
|
|
[ Unknown test ];
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|