aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/c-c++-common/vector-shift1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/vector-shift1.c')
-rw-r--r--gcc-4.9/gcc/testsuite/c-c++-common/vector-shift1.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/vector-shift1.c b/gcc-4.9/gcc/testsuite/c-c++-common/vector-shift1.c
new file mode 100644
index 000000000..db8035667
--- /dev/null
+++ b/gcc-4.9/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;
+}
+