// RUN: %clang_cc1 -fsyntax-only -verify -fenable-matrix %s
struct Foo {};
__attribute__((objc_root_class))
@interface FooValue
@property struct Foo value;
@end
typedef double double4x4 __attribute__((matrix_type(4, 4)));
// Check that we generate proper error messages for invalid placeholder types.
//
double test_index_placeholders(double4x4 m, FooValue *iv) {
return m[iv.value][iv.value];
// expected-error@-1 {{matrix row index is not an integer}}
// expected-error@-2 {{matrix column index is not an integer}}
}
double test_base_and_index_placeholders(FooValue *m, FooValue *iv) {
return m.value[iv.value][iv.value];
// expected-error@-1 {{subscripted value is not an array, pointer, or vector}}
}