1// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s 2// rdar://15610943 3 4struct _GLKMatrix4 5{ 6 float m[16]; 7}; 8typedef struct _GLKMatrix4 GLKMatrix4; 9 10@interface NSObject @end 11 12@interface MyProgram 13- (void)setTransform:(float[16])transform; 14@end 15 16@interface ViewController 17@property (nonatomic, assign) GLKMatrix4 transform; 18@end 19 20@implementation ViewController 21- (void)viewDidLoad { 22 MyProgram *program; 23 program.transform = self.transform.m; 24} 25@end 26 27// CHECK: [[M:%.*]] = getelementptr inbounds %struct._GLKMatrix4, %struct._GLKMatrix4* [[TMP:%.*]], i32 0, i32 0 28// CHECK: [[ARRAYDECAY:%.*]] = getelementptr inbounds [16 x float], [16 x float]* [[M]], i32 0, i32 0 29// CHECK: [[SIX:%.*]] = load i8*, i8** @OBJC_SELECTOR_REFERENCES 30// CHECK: call void bitcast (i8* (i8*, i8*, ...)* @objc_msgSend to void (i8*, i8*, float*)*)(i8* [[SEVEN:%.*]], i8* [[SIX]], float* [[ARRAYDECAY]]) 31