summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/weak-metaclass-visibility.m
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-06-10 17:08:04 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-06-10 17:08:04 +0000
commit0b3bc24e393b558f7f1934eb1be09b7883a8842e (patch)
treeff9b0ebb58ab6b2a86c94c5ddbf8f9343ee713ae /clang/test/CodeGenObjC/weak-metaclass-visibility.m
parent063d4fba36f152a052afb97bc3a6eef4a283dad9 (diff)
downloadbcm5719-llvm-0b3bc24e393b558f7f1934eb1be09b7883a8842e.tar.gz
bcm5719-llvm-0b3bc24e393b558f7f1934eb1be09b7883a8842e.zip
Objective-C IRGen. Patch to generate a weak symbol reference when
'super' dispatches a class method in category for OBJC_METACLASS. This is when class is a weak_import class. // rdar://16529125 llvm-svn: 210547
Diffstat (limited to 'clang/test/CodeGenObjC/weak-metaclass-visibility.m')
-rw-r--r--clang/test/CodeGenObjC/weak-metaclass-visibility.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGenObjC/weak-metaclass-visibility.m b/clang/test/CodeGenObjC/weak-metaclass-visibility.m
index 1f76197d844..128f881a5c0 100644
--- a/clang/test/CodeGenObjC/weak-metaclass-visibility.m
+++ b/clang/test/CodeGenObjC/weak-metaclass-visibility.m
@@ -3,6 +3,7 @@
@interface NSObject
- (void) finalize;
++ (void) class;
@end
__attribute__((availability(macosx,introduced=9876.5)))
@@ -31,3 +32,14 @@ void kit()
// CHECK: @"OBJC_METACLASS_$_MyClass" = global %struct._class_t
// CHECK: @"OBJC_CLASS_$_NSObject" = external global %struct._class_t
+// rdar://16529125
+__attribute__((weak_import))
+@interface NSURLQueryItem : NSObject
+@end
+
+@implementation NSURLQueryItem (hax)
++(void)classmethod { [super class]; }
+@end
+
+// CHECK: @"OBJC_METACLASS_$_NSURLQueryItem" = extern_weak global
+// CHECK: @"OBJC_CLASS_$_NSURLQueryItem" = extern_weak global
OpenPOWER on IntegriCloud