2012-06-20 14:18:46 +08:00
|
|
|
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -emit-llvm -o %t %s
|
2009-11-08 09:45:36 +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
|
2012-06-20 14:18:46 +08:00
|
|
|
// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -DWITH_IMPL -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
|
|
|
|
|
2018-08-18 06:18:08 +08:00
|
|
|
@protocol P @end
|
2008-09-04 12:36:23 +08:00
|
|
|
|
|
|
|
@interface A : Root
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface A (Category)
|
|
|
|
+(void) foo;
|
|
|
|
@end
|
|
|
|
|
|
|
|
#ifdef WITH_IMPL
|
|
|
|
@implementation A
|
|
|
|
@end
|
|
|
|
#endif
|
|
|
|
|
|
|
|
@interface Unknown
|
|
|
|
+test;
|
|
|
|
@end
|
|
|
|
|
|
|
|
|
2022-02-17 05:09:36 +08:00
|
|
|
int main(void) {
|
2008-09-04 12:36:23 +08:00
|
|
|
id x = @protocol(P);
|
|
|
|
[ A alloc ];
|
|
|
|
[ A foo ];
|
|
|
|
[ Unknown test ];
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|