diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/vector-shift1.c')
-rw-r--r-- | gcc/testsuite/c-c++-common/vector-shift1.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/vector-shift1.c b/gcc/testsuite/c-c++-common/vector-shift1.c new file mode 100644 index 00000000000..db8035667a9 --- /dev/null +++ b/gcc/testsuite/c-c++-common/vector-shift1.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-prune-output "in evaluation of" } */ +#define vector(elcount, type) \ +__attribute__((vector_size((elcount)*sizeof(type)))) type + +int main (int argc, char *argv[]) { + vector(4, float) vfloat0 = {1., 2., 3., 4.}; + vector(4, float) vfloat1 = {1., 2., 3., 4.}; + + vector(4, int) vint = {1, 1, 1, 1 }; + + vint <<= vfloat0; /* { dg-error "nvalid operands to binary <<" } */ + vfloat0 >>= vint; /* { dg-error "nvalid operands to binary >>" } */ + + vfloat0 <<= vfloat1; /* { dg-error "nvalid operands" } */ + + return 0; +} + |