diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/conversion/simd4.C')
-rw-r--r-- | gcc/testsuite/g++.dg/conversion/simd4.C | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/conversion/simd4.C b/gcc/testsuite/g++.dg/conversion/simd4.C new file mode 100644 index 000000000..f8f7f2e45 --- /dev/null +++ b/gcc/testsuite/g++.dg/conversion/simd4.C @@ -0,0 +1,34 @@ +// PR c++/29734 +// { dg-do compile } +// { dg-options "" } + +int t; +float u; +int __attribute__((vector_size (8))) v; +float __attribute__((vector_size (8))) w; +int b[10]; + +void +foo () +{ + b[t]; + b[u]; // { dg-error "invalid types" } + b[v]; // { dg-error "invalid types" } + b[w]; // { dg-error "invalid types" } + t[b]; + u[b]; // { dg-error "invalid types" } + v[b]; // { dg-error "invalid types" } + w[b]; // { dg-error "invalid types" } + new int[t]; + new int[u]; // { dg-error "new-declarator must have integral" } + new int[v]; // { dg-error "new-declarator must have integral" } + new int[w]; // { dg-error "new-declarator must have integral" } + switch (t) { default: break; } + switch (u) { default: break; } // { dg-error "switch quantity not an integer" } + switch (v) { default: break; } // { dg-error "switch quantity not an integer" } + switch (w) { default: break; } // { dg-error "switch quantity not an integer" } + t = ~t; + u = ~u; // { dg-error "wrong type argument to bit-complement" } + v = ~v; + w = ~w; // { dg-error "wrong type argument to bit-complement" } +} |