aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
authorYvan Roux <yvan.roux@linaro.org>2017-03-15 09:59:42 +0100
committerYvan Roux <yvan.roux@linaro.org>2017-03-15 09:59:42 +0100
commit604b17d50dd0d0d8ecfcee70d1eea2ab70378176 (patch)
treeda5476fb9d9bdeb48b7445d1b26b99a3cdba867b /gcc/testsuite/gcc.dg
parentfb60fe3619726587a74136b5e941481af6a51b40 (diff)
Merge branches/gcc-6-branch rev 246148.
Change-Id: I706269373548f876b7f0d205507817f52ee8a2df
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/comp-goto-4.c21
-rw-r--r--gcc/testsuite/gcc.dg/fixed-point/pr79971.c14
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824-2.c34
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824-3.c19
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr71824.c17
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr79977.c27
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr79536.c10
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr79666.c30
-rw-r--r--gcc/testsuite/gcc.dg/vector-1.c8
9 files changed, 180 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/comp-goto-4.c b/gcc/testsuite/gcc.dg/comp-goto-4.c
new file mode 100644
index 00000000000..51a6a867706
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/comp-goto-4.c
@@ -0,0 +1,21 @@
+/* PR middle-end/79537 */
+/* { dg-do compile } */
+/* { dg-options "" } */
+/* { dg-require-effective-target indirect_jumps } */
+/* { dg-require-effective-target label_values } */
+
+void
+f (void)
+{
+L:
+ *&&L;
+}
+
+void
+f2 (void)
+{
+ void *p;
+L:
+ p = &&L;
+ *p; /* { dg-warning "dereferencing 'void \\*' pointer" } */
+}
diff --git a/gcc/testsuite/gcc.dg/fixed-point/pr79971.c b/gcc/testsuite/gcc.dg/fixed-point/pr79971.c
new file mode 100644
index 00000000000..cccea1f5dc8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/fixed-point/pr79971.c
@@ -0,0 +1,14 @@
+/* { dg-do compile } */
+/* { dg-options "-O3" } */
+
+void
+a ()
+{
+ unsigned _Accum b;
+ for (b = 0.1; b; b += 0.1uk)
+ {
+ _Sat unsigned _Accum b;
+ for (b = 0; b <= 0.8; b = 0.1)
+ ;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-2.c b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c
new file mode 100644
index 00000000000..18176568d4a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824-2.c
@@ -0,0 +1,34 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize" } */
+
+typedef struct { float x1; } bx;
+typedef struct {
+ int w;
+ short o;
+} T2P;
+T2P a;
+int b;
+void fn2();
+void fn3(bx*,short);
+void fn1() {
+ unsigned i = 0;
+ int c;
+ bx *d;
+ bx **h;
+ if (b == 0) {
+ fn2();
+ return;
+ }
+ for (; c; c++)
+ for (; i < 100; i++) {
+ d = h[i];
+ d->x1 = a.w;
+ }
+ for (; i < 100; i++) {
+ d = h[i];
+ d->x1 = a.w;
+ }
+ if (a.o)
+ for (; b;)
+ fn3(d, a.o);
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824-3.c b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c
new file mode 100644
index 00000000000..37e5c3ba34d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824-3.c
@@ -0,0 +1,19 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-loop-distribution -floop-nest-optimize" } */
+
+struct
+{
+ int bz;
+} od, ka[2];
+
+int fw;
+
+void
+pc (void)
+{
+ for (od.bz = 0; od.bz < 2; ++od.bz)
+ {
+ ++fw;
+ ka[0] = ka[1];
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr71824.c b/gcc/testsuite/gcc.dg/graphite/pr71824.c
new file mode 100644
index 00000000000..2a90e30e50f
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr71824.c
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize" } */
+
+int a, b, d;
+int **c;
+int fn1() {
+ while (a)
+ if (d) {
+ int e = -d;
+ for (; b < e; b++)
+ c[b] = &a;
+ } else {
+ for (; b; b++)
+ c[b] = &b;
+ d = 0;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr79977.c b/gcc/testsuite/gcc.dg/graphite/pr79977.c
new file mode 100644
index 00000000000..09606b0739b
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr79977.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -floop-nest-optimize" } */
+
+int uo[3];
+int di;
+
+void
+i7 (int mp)
+{
+ int l4;
+
+wh:
+ while (l4 > 1)
+ {
+ for (di = 0; di < 2; ++di)
+ uo[di] = 0;
+
+ for (di = 0; di < 3; ++di)
+ {
+ uo[di] = 0;
+ if (mp != 0)
+ goto wh;
+ }
+
+ --l4;
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr79536.c b/gcc/testsuite/gcc.dg/torture/pr79536.c
new file mode 100644
index 00000000000..6f05ca7d134
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr79536.c
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+
+typedef int A;
+int
+fn1 (A x, A y)
+{
+ if ((x + (x - y) * 1i) != -(-x + (y - x) * 1i))
+ return 1;
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr79666.c b/gcc/testsuite/gcc.dg/torture/pr79666.c
new file mode 100644
index 00000000000..3d83229521c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr79666.c
@@ -0,0 +1,30 @@
+/* { dg-do run } */
+
+struct
+{
+ unsigned a:6;
+} b;
+
+int c, e, g = 7;
+signed char d, f = 6, h = -10;
+
+void fn1 ()
+{
+ for (; c < 9; c++)
+ {
+ if (f)
+ g = ~(~0 / (g ^ e));
+ b.a = ~0;
+ d = ~((h ^ b.a) & 132 & (~(f && g) | (d && 1)));
+ e = ~0;
+ if (d < 127 || f < 1)
+ continue;
+ g = 0;
+ }
+}
+
+int main ()
+{
+ fn1 ();
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/vector-1.c b/gcc/testsuite/gcc.dg/vector-1.c
new file mode 100644
index 00000000000..a5eaa2a8c2d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vector-1.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-std=gnu90" } */
+
+typedef int V __attribute__ ((vector_size(4)));
+void fn1 ()
+{
+ (V){(1,0)}[0] = 0;
+}