1// RUN: %clang_cc1 -fsyntax-only -verify -fenable-matrix %s 2 3struct Foo {}; 4__attribute__((objc_root_class)) 5@interface FooValue 6@property struct Foo value; 7@end 8 9typedef double double4x4 __attribute__((matrix_type(4, 4))); 10 11// Check that we generate proper error messages for invalid placeholder types. 12// 13double test_index_placeholders(double4x4 m, FooValue *iv) { 14 return m[iv.value][iv.value]; 15 // expected-error@-1 {{matrix row index is not an integer}} 16 // expected-error@-2 {{matrix column index is not an integer}} 17} 18 19double test_base_and_index_placeholders(FooValue *m, FooValue *iv) { 20 return m.value[iv.value][iv.value]; 21 // expected-error@-1 {{subscripted value is not an array, pointer, or vector}} 22} 23