[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / SemaObjC / matrix-type-operators.m
blob45718ab0763013f904377fb352bc838930c4e6f7
1 // RUN: %clang_cc1 -fsyntax-only -verify -fenable-matrix %s
3 struct Foo {};
4 __attribute__((objc_root_class))
5 @interface FooValue
6 @property struct Foo value;
7 @end
9 typedef double double4x4 __attribute__((matrix_type(4, 4)));
11 // Check that we generate proper error messages for invalid placeholder types.
13 double 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}}
19 double 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}}