diff options
Diffstat (limited to 'test/CodeGenObjC/gnustep2-category-protocol.m')
-rw-r--r-- | test/CodeGenObjC/gnustep2-category-protocol.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/CodeGenObjC/gnustep2-category-protocol.m b/test/CodeGenObjC/gnustep2-category-protocol.m new file mode 100644 index 0000000000..6463474507 --- /dev/null +++ b/test/CodeGenObjC/gnustep2-category-protocol.m @@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -triple x86_64-unknown-freebsd -S -emit-llvm -fobjc-runtime=gnustep-2.0 -o - %s | FileCheck %s + +// Regression test. We weren't emitting definitions for protocols used in +// categories, causing linker errors when the category was the only reference +// to a protocol in a binary. + +// CHECK: @._OBJC_PROTOCOL_Y = global +// CHEKC-SAME: section "__objc_protocols", comdat, align 8 + + +@interface X +{ +id isa; +} +@end +@implementation X +@end + +@protocol Y @end + +@interface X (y) <Y> +@end +@implementation X (y) @end + + |