31 lines · plain
1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s2 3struct _GLKMatrix44{5 float m[16];6};7typedef struct _GLKMatrix4 GLKMatrix4;8 9@interface NSObject @end10 11@interface MyProgram12- (void)setTransform:(float[16])transform;13@end14 15@interface ViewController16@property (nonatomic, assign) GLKMatrix4 transform;17@end18 19@implementation ViewController20- (void)viewDidLoad {21 MyProgram *program;22 program.transform = self.transform.m;23}24@end25 26// CHECK: [[REF_TEMP:%.*]] = alloca %struct._GLKMatrix4, align 427// CHECK: [[M:%.*]] = getelementptr inbounds nuw %struct._GLKMatrix4, ptr [[REF_TEMP:%.*]], i32 0, i32 028// CHECK: [[ARRAYDECAY:%.*]] = getelementptr inbounds [16 x float], ptr [[M]], i64 0, i64 029// CHECK: [[SIX:%.*]] = load ptr, ptr @OBJC_SELECTOR_REFERENCES30// CHECK: call void @objc_msgSend(ptr noundef [[SEVEN:%.*]], ptr noundef [[SIX]], ptr noundef [[ARRAYDECAY]])31