diff options
Diffstat (limited to 'clang/test/CodeGenObjC/link-errors.m')
-rw-r--r-- | clang/test/CodeGenObjC/link-errors.m | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/link-errors.m b/clang/test/CodeGenObjC/link-errors.m new file mode 100644 index 0000000..0d19681 --- /dev/null +++ b/clang/test/CodeGenObjC/link-errors.m @@ -0,0 +1,39 @@ +// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-fragile-abi -emit-llvm -o %t %s +// 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 +// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-fragile-abi -DWITH_IMPL -emit-llvm -o %t %s +// 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; +} + |