42 lines · plain
1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-arc -std=c++11 -emit-llvm -o - %s | FileCheck %s2 3@interface NSObject4+ (id)new;5@end6 7@interface NSMutableDictionary : NSObject8@end9 10class XClipboardDataSet11{ 12 NSMutableDictionary* mClipData = [NSMutableDictionary new];13};14 15@interface AppDelegate @end16 17@implementation AppDelegate18- (void)applicationDidFinishLaunching19{ 20 XClipboardDataSet clip; 21}22@end23 24// CHECK: [[mClipData:%.*]] = getelementptr inbounds nuw %class.XClipboardDataSet, ptr25// CHECK: [[CLS:%.*]] = load ptr, ptr @"OBJC_CLASSLIST_REFERENCES_$_"26// CHECK: [[SEL:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES_27// CHECK: [[CALL:%.*]] = call noundef ptr @objc_msgSend(ptr noundef [[CLS]], ptr noundef [[SEL]])28// CHECK: store ptr [[CALL]], ptr [[mClipData]], align 829 30struct Butt { };31 32__attribute__((objc_root_class))33@interface Foo {34 Butt x;35 Butt y;36 Butt z;37}38@end39@implementation Foo40@end41// CHECK-NOT: define internal noundef ptr @"\01-[Foo .cxx_construct42