summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.dg')
-rw-r--r--gcc/testsuite/gcc.dg/asm-10.c12
-rw-r--r--gcc/testsuite/gcc.dg/autopar/pr46099-2.c5
-rw-r--r--gcc/testsuite/gcc.dg/autopar/reduc-4.c4
-rw-r--r--gcc/testsuite/gcc.dg/gomp/pr67495.c38
-rw-r--r--gcc/testsuite/gcc.dg/gomp/pr67500.c42
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-0.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/block-6.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-10.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-11.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-13.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-14.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-7.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/interchange-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr35356-1.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr37485.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-0.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-10.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-11.c3
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-12.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-13.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-16.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-17.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-18.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-21.c3
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-22.c3
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-5.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-6.c3
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-7.c3
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-8.c5
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-9.c4
-rw-r--r--gcc/testsuite/gcc.dg/graphite/scop-mvt.c6
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-block-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-interchange-12.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-interchange-14.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-interchange-15.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-interchange-9.c2
-rw-r--r--gcc/testsuite/gcc.dg/graphite/uns-interchange-mvt.c2
-rw-r--r--gcc/testsuite/gcc.dg/lto/pr67452_0.c23
-rw-r--r--gcc/testsuite/gcc.dg/pie-link.c2
-rw-r--r--gcc/testsuite/gcc.dg/pr67432.c6
-rw-r--r--gcc/testsuite/gcc.dg/pr67512.c15
-rw-r--r--gcc/testsuite/gcc.dg/ubsan/pr67279.c14
52 files changed, 216 insertions, 51 deletions
diff --git a/gcc/testsuite/gcc.dg/asm-10.c b/gcc/testsuite/gcc.dg/asm-10.c
new file mode 100644
index 00000000000..e6c03c62cab
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/asm-10.c
@@ -0,0 +1,12 @@
+/* PR inline-asm/67448 */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+void
+f (int i)
+{
+ asm ("" : : "m"(i += 1)); /* { dg-error "not directly addressable" } */
+ asm ("" : : "m"(i++)); /* { dg-error "not directly addressable" } */
+ asm ("" : : "m"(++i)); /* { dg-error "not directly addressable" } */
+ asm ("" : : "m"(i = 0)); /* { dg-error "not directly addressable" } */
+}
diff --git a/gcc/testsuite/gcc.dg/autopar/pr46099-2.c b/gcc/testsuite/gcc.dg/autopar/pr46099-2.c
new file mode 100644
index 00000000000..2883408365e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/pr46099-2.c
@@ -0,0 +1,5 @@
+/* PR tree-optimization/46099. */
+/* { dg-do compile } */
+/* { dg-options "-ftree-parallelize-loops=2 -fcompare-debug -O --param parloops-chunk-size=100" } */
+
+#include "pr46099.c"
diff --git a/gcc/testsuite/gcc.dg/autopar/reduc-4.c b/gcc/testsuite/gcc.dg/autopar/reduc-4.c
new file mode 100644
index 00000000000..80b15e2852d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/autopar/reduc-4.c
@@ -0,0 +1,4 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized --param parloops-chunk-size=100" } */
+
+#include "reduc-3.c"
diff --git a/gcc/testsuite/gcc.dg/gomp/pr67495.c b/gcc/testsuite/gcc.dg/gomp/pr67495.c
new file mode 100644
index 00000000000..1011a266972
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/gomp/pr67495.c
@@ -0,0 +1,38 @@
+/* PR c/67495 */
+/* { dg-do compile } */
+/* { dg-options "-fopenmp" } */
+
+int a, b, c;
+
+void
+foo (void)
+{
+#pragma omp atomic capture
+ a = (float)a + b; /* { dg-error "invalid operator" } */
+#pragma omp atomic read
+ (float) a = b; /* { dg-error "lvalue required" } */
+#pragma omp atomic write
+ (float) a = b; /* { dg-error "lvalue required" } */
+#pragma omp atomic read
+ a = (float) b; /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ (float) a = b += c; /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ { a += b; (float) c = a; } /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ { a += b; c = (float) a; } /* { dg-error "uses two different expressions for memory" } */
+#pragma omp atomic capture
+ a = (int)a + b; /* { dg-error "invalid operator" } */
+#pragma omp atomic read
+ (int) a = b; /* { dg-error "lvalue required" } */
+#pragma omp atomic write
+ (int) a = b; /* { dg-error "lvalue required" } */
+#pragma omp atomic read
+ a = (int) b; /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ (int) a = b += c; /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ { a += b; (int) c = a; } /* { dg-error "lvalue required" } */
+#pragma omp atomic capture
+ { a += b; c = (int) a; } /* { dg-error "lvalue required" } */
+}
diff --git a/gcc/testsuite/gcc.dg/gomp/pr67500.c b/gcc/testsuite/gcc.dg/gomp/pr67500.c
new file mode 100644
index 00000000000..13a6903d72d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/gomp/pr67500.c
@@ -0,0 +1,42 @@
+/* PR c/67500 */
+/* { dg-do compile } */
+/* { dg-options "-fopenmp" } */
+
+#pragma omp declare simd simdlen(d) /* { dg-error "clause expression must be positive constant integer expression" } */
+void f1 (int); /* { dg-error "undeclared here" "" { target *-*-* } 5 } */
+#pragma omp declare simd simdlen(0.5) /* { dg-error "clause expression must be positive constant integer expression" } */
+void f2 (int);
+#pragma omp declare simd simdlen(-2) /* { dg-error "clause expression must be positive constant integer expression" } */
+void f3 (int);
+#pragma omp declare simd simdlen(0) /* { dg-error "clause expression must be positive constant integer expression" } */
+void f4 (int);
+
+void
+foo (int *p)
+{
+ int i;
+ #pragma omp simd safelen(d) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i) /* { dg-error "undeclared" "" { target *-*-* } 18 } */
+ ;
+ #pragma omp simd safelen(0.5) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd safelen(-2) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd safelen(0) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd aligned(p:d) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd aligned(p:0.5) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd aligned(p:-2) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+ #pragma omp simd aligned(p:0) /* { dg-error "must be positive constant integer expression" } */
+ for (i = 0; i < 16; ++i)
+ ;
+}
diff --git a/gcc/testsuite/gcc.dg/graphite/block-0.c b/gcc/testsuite/gcc.dg/graphite/block-0.c
index cb08a5fe56f..24b3bd060a9 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-0.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-0.c
@@ -42,4 +42,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "not tiled" 3 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "not tiled" 2 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-1.c b/gcc/testsuite/gcc.dg/graphite/block-1.c
index 19f9f20c3bc..bb81a95d421 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-1.c
@@ -45,4 +45,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 5 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 6 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-5.c b/gcc/testsuite/gcc.dg/graphite/block-5.c
index d30abf80fda..2f4b2f503b0 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-5.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-5.c
@@ -53,4 +53,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/block-6.c b/gcc/testsuite/gcc.dg/graphite/block-6.c
index 9f03448b957..36e9783d151 100644
--- a/gcc/testsuite/gcc.dg/graphite/block-6.c
+++ b/gcc/testsuite/gcc.dg/graphite/block-6.c
@@ -48,4 +48,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-1.c b/gcc/testsuite/gcc.dg/graphite/interchange-1.c
index b9f12c7d20d..2c58ac21e98 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-1.c
@@ -49,4 +49,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-10.c b/gcc/testsuite/gcc.dg/graphite/interchange-10.c
index 29e11c72257..9d486448d08 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-10.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-10.c
@@ -46,4 +46,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 6 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-11.c b/gcc/testsuite/gcc.dg/graphite/interchange-11.c
index afd71230a63..4f6918dc691 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-11.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-11.c
@@ -46,4 +46,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-13.c b/gcc/testsuite/gcc.dg/graphite/interchange-13.c
index 0e722e2632e..c9ea048e482 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-13.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-13.c
@@ -50,4 +50,4 @@ main (void)
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-14.c b/gcc/testsuite/gcc.dg/graphite/interchange-14.c
index 55c600247c0..151bfe71f1f 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-14.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-14.c
@@ -54,4 +54,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 7 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 6 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-3.c b/gcc/testsuite/gcc.dg/graphite/interchange-3.c
index cdc02020197..ebdeef7ea8e 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-3.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-3.c
@@ -47,4 +47,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-4.c b/gcc/testsuite/gcc.dg/graphite/interchange-4.c
index 67125658286..9a50e7a0833 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-4.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-4.c
@@ -46,4 +46,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-7.c b/gcc/testsuite/gcc.dg/graphite/interchange-7.c
index d99a16a291a..e53d30e8cfe 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-7.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-7.c
@@ -46,4 +46,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-8.c b/gcc/testsuite/gcc.dg/graphite/interchange-8.c
index 123106bb475..c5e714175a0 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-8.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-8.c
@@ -82,4 +82,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 5 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 6 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/interchange-9.c b/gcc/testsuite/gcc.dg/graphite/interchange-9.c
index e4c54ae181d..44a5452213e 100644
--- a/gcc/testsuite/gcc.dg/graphite/interchange-9.c
+++ b/gcc/testsuite/gcc.dg/graphite/interchange-9.c
@@ -44,4 +44,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c b/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
index cb5d802db8e..70ac24c46d7 100644
--- a/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
+++ b/gcc/testsuite/gcc.dg/graphite/isl-codegen-loop-dumping.c
@@ -12,4 +12,6 @@ main (int n, int *a)
return 0;
}
-/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL: \nfor \\(int c1 = 0; c1 < n - 1; c1 \\+= 1\\)\n for \\(int c3 = 0; c3 < n; c3 \\+= 1\\)\n S_4\\(c1, c3\\);" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "ISL AST generated by ISL: \n\\{\n S_2\\();\n if \\(P_19 >= 1\\)\n
+ for \\(int c1 = 0; c1 < n - 1; c1 \\+= 1\\) \\{ \n for \\(int c3 = 0; c3 < n; c3 \\+= 1\\)\n
+ S_4\\(c1, c3\\); \n S_6\\(c1\\);\n \\} \n\\}" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/pr35356-1.c b/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
index 10aa49337b7..7f0e8246e03 100644
--- a/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/pr35356-1.c
@@ -11,6 +11,10 @@ foo (int bar, int n, int k)
if (i == k)
a[i] = bar;
+ for (i = 0; i < n; i++)
+ if (i == k)
+ a[i] = bar;
+
return a[bar];
}
diff --git a/gcc/testsuite/gcc.dg/graphite/pr37485.c b/gcc/testsuite/gcc.dg/graphite/pr37485.c
index 0a6dfbceefc..47138d303af 100644
--- a/gcc/testsuite/gcc.dg/graphite/pr37485.c
+++ b/gcc/testsuite/gcc.dg/graphite/pr37485.c
@@ -31,4 +31,4 @@ void fallbackSort ( UInt32* fmap,
AssertH ( j < 256, 1005 );
}
-/* { dg-final { scan-tree-dump-times "tiled by" 1 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-0.c b/gcc/testsuite/gcc.dg/graphite/scop-0.c
index 9cfd5dd14dc..abeabce98a8 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-0.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-0.c
@@ -9,7 +9,7 @@ int toto()
int b[100];
int N = foo ();
- for (i = 0; i < 2*N+ 100; i++)
+ for (i = 0; i < N+ 100; i++)
for (j = 0; j < 200; j++)
a[j][i] = a[j+1][10] + 2;
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-1.c b/gcc/testsuite/gcc.dg/graphite/scop-1.c
index 16070d425b8..a569065d095 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-1.c
@@ -27,4 +27,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-10.c b/gcc/testsuite/gcc.dg/graphite/scop-10.c
index f14aabce4c3..39ed5d7ea7b 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-10.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-10.c
@@ -12,8 +12,6 @@ int toto()
b[i+j] = b[i+j-1] + 2;
if (i * 2 == i + 8)
- bar ();
- else
{
for (j = 1; j < 100; j++)
b[i+j] = b[i+j-1] + 2;
@@ -27,4 +25,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-11.c b/gcc/testsuite/gcc.dg/graphite/scop-11.c
index 4a7286993c5..97fe5393b37 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-11.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-11.c
@@ -10,7 +10,6 @@ int toto()
for (j = 0; j <= 20; j++)
a[j] = b + i;
b = 3;
- bar();
}
else
{
@@ -28,4 +27,4 @@ int toto()
return a[b];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-12.c b/gcc/testsuite/gcc.dg/graphite/scop-12.c
index 221d987bfba..68e12050488 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-12.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-12.c
@@ -32,4 +32,4 @@ int toto()
return a[b];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 5" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-13.c b/gcc/testsuite/gcc.dg/graphite/scop-13.c
index 195b7569389..53a17196d3e 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-13.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-13.c
@@ -37,4 +37,4 @@ int toto()
return a[b];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 0" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-16.c b/gcc/testsuite/gcc.dg/graphite/scop-16.c
index cacd564e9e5..676817014b2 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-16.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-16.c
@@ -21,4 +21,4 @@ int test ()
foo (a[i][j]);
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-17.c b/gcc/testsuite/gcc.dg/graphite/scop-17.c
index 2252766b796..3c0d8804549 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-17.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-17.c
@@ -20,4 +20,4 @@ int test ()
foo (a[i][j]);
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-18.c b/gcc/testsuite/gcc.dg/graphite/scop-18.c
index 6e1080bc701..3416304075d 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-18.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-18.c
@@ -22,4 +22,4 @@ void test (void)
A[i][j] = B[i][k] * C[k][j];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-2.c b/gcc/testsuite/gcc.dg/graphite/scop-2.c
index a16717c600a..fb1a4e7b692 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-2.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-2.c
@@ -35,4 +35,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 4" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-21.c b/gcc/testsuite/gcc.dg/graphite/scop-21.c
index 48a6d2ff5a8..bd3f811d9d1 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-21.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-21.c
@@ -6,6 +6,9 @@ int test ()
int i;
for (i = 0; i < N; i++)
+ a[i] += 32;
+
+ for (i = 0; i < N; i++)
{
a[i] = i + 12;
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-22.c b/gcc/testsuite/gcc.dg/graphite/scop-22.c
index c936428b7bb..6ff5ccd5b56 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-22.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-22.c
@@ -7,6 +7,9 @@ void foo(int N, int *res)
double sum = 0.0;
for (i = 0; i < N; i++)
+ sum += u[i];
+
+ for (i = 0; i < N; i++)
{
a = u[i];
u[i] = i * i;
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-4.c b/gcc/testsuite/gcc.dg/graphite/scop-4.c
index c6d719e2dd0..4fb0e5ea471 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-4.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-4.c
@@ -25,4 +25,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-5.c b/gcc/testsuite/gcc.dg/graphite/scop-5.c
index fa1c64a0ca8..8309257554c 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-5.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-5.c
@@ -9,6 +9,8 @@ int toto()
{
for (j = 0; j <= 20; j++)
a[j] = b + i;
+ for (j = 2; j <= 23; j++)
+ a[j] = b + i;
b = 3;
bar();
}
@@ -31,4 +33,4 @@ int toto()
return a[b];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-6.c b/gcc/testsuite/gcc.dg/graphite/scop-6.c
index 2a45d6ee559..1da486a2ddf 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-6.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-6.c
@@ -17,7 +17,6 @@ int toto()
{
for (k = 1; k < 100; k++)
b[i+k] = b[i+k-1] + 2;
- bar ();
}
for (k = 1; k < 100; k++)
@@ -27,4 +26,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-7.c b/gcc/testsuite/gcc.dg/graphite/scop-7.c
index 5866ca736f6..3e337d0c603 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-7.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-7.c
@@ -13,7 +13,6 @@ int toto()
if (i * 2 == i + 8)
{
- bar ();
for (j = 1; j < 100; j++)
b[i+j] = b[i+j-1] + 2;
}
@@ -27,4 +26,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-8.c b/gcc/testsuite/gcc.dg/graphite/scop-8.c
index 9cdc69f670d..71d5c531fb8 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-8.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-8.c
@@ -14,8 +14,7 @@ int toto()
if (i * 2 == i + 8)
{
for (j = 1; j < 100; j++)
- if (bar ())
- b[i+j] = b[i+j-1] + 2;
+ b[i+j] = b[i+j-1] + 2;
}
else
a[i][i] = 2;
@@ -27,4 +26,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-9.c b/gcc/testsuite/gcc.dg/graphite/scop-9.c
index d879d9afda3..93888728b0d 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-9.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-9.c
@@ -12,8 +12,6 @@ int toto()
b[i+j] = b[i+j-1] + 2;
if (i * 2 == i + 8)
- bar ();
- else
a[i][i] = 2;
for (k = 1; k < 100; k++)
@@ -23,4 +21,4 @@ int toto()
return a[3][5] + b[1];
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
diff --git a/gcc/testsuite/gcc.dg/graphite/scop-mvt.c b/gcc/testsuite/gcc.dg/graphite/scop-mvt.c
index 5d3d19f7413..442a3a0bafa 100644
--- a/gcc/testsuite/gcc.dg/graphite/scop-mvt.c
+++ b/gcc/testsuite/gcc.dg/graphite/scop-mvt.c
@@ -8,16 +8,16 @@ void mvt(long N) {
for (i=0; i<N; i++) {
for (j=0; j<N; j++) {
- x1[i] = x1[i] + a[i][j] * y_1[j];
+ x1[j] = x1[j] + a[i][j] * y_1[j];
}
}
for (i=0; i<N; i++) {
for (j=0; j<N; j++) {
- x2[i] = x2[i] + a[j][i] * y_2[j];
+ x2[j] = x2[j] + a[j][i] * y_2[j];
}
}
}
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 2" 1 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-block-1.c b/gcc/testsuite/gcc.dg/graphite/uns-block-1.c
index 12a62919b5f..64ca761c40c 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-block-1.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-block-1.c
@@ -45,4 +45,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 5 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-interchange-12.c b/gcc/testsuite/gcc.dg/graphite/uns-interchange-12.c
index d9c07e2fe21..4e3c705a13a 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-interchange-12.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-interchange-12.c
@@ -54,4 +54,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 4 "graphite" } } */
+/* { dg-final { scan-tree-dump "tiled by" "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-interchange-14.c b/gcc/testsuite/gcc.dg/graphite/uns-interchange-14.c
index 7ef575b667d..a9d4950a525 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-interchange-14.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-interchange-14.c
@@ -55,4 +55,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 6 "graphite" } } */
+/* { dg-final { scan-tree-dump "tiled by" "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-interchange-15.c b/gcc/testsuite/gcc.dg/graphite/uns-interchange-15.c
index 0e32fd61456..fe2669f1578 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-interchange-15.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-interchange-15.c
@@ -49,4 +49,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump "tiled by" "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-interchange-9.c b/gcc/testsuite/gcc.dg/graphite/uns-interchange-9.c
index 31b132253c6..601169ec39e 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-interchange-9.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-interchange-9.c
@@ -45,4 +45,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 2 "graphite" } } */
+/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/graphite/uns-interchange-mvt.c b/gcc/testsuite/gcc.dg/graphite/uns-interchange-mvt.c
index eebece38698..211c9ab82bd 100644
--- a/gcc/testsuite/gcc.dg/graphite/uns-interchange-mvt.c
+++ b/gcc/testsuite/gcc.dg/graphite/uns-interchange-mvt.c
@@ -59,4 +59,4 @@ main (void)
return 0;
}
-/* { dg-final { scan-tree-dump-times "tiled by" 3 "graphite" } } */
+/* { dg-final { scan-tree-dump "tiled by" "graphite" } } */
diff --git a/gcc/testsuite/gcc.dg/lto/pr67452_0.c b/gcc/testsuite/gcc.dg/lto/pr67452_0.c
new file mode 100644
index 00000000000..a4984ffcc9a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/lto/pr67452_0.c
@@ -0,0 +1,23 @@
+/* { dg-lto-do link } */
+/* { dg-lto-options { { -O2 -flto -fopenmp-simd } } } */
+
+float b[3][3];
+
+__attribute__((used, noinline)) void
+foo ()
+{
+ int v1, v2;
+#pragma omp simd collapse(2)
+ for (v1 = 0; v1 < 3; v1++)
+ for (v2 = 0; v2 < 3; v2++)
+ b[v1][v2] = 2.5;
+}
+
+int
+main ()
+{
+ asm volatile ("" : : "g" (b) : "memory");
+ foo ();
+ asm volatile ("" : : "g" (b) : "memory");
+ return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pie-link.c b/gcc/testsuite/gcc.dg/pie-link.c
index c16086cc19e..2be07615f96 100644
--- a/gcc/testsuite/gcc.dg/pie-link.c
+++ b/gcc/testsuite/gcc.dg/pie-link.c
@@ -1,5 +1,5 @@
/* { dg-do link { target pie } } */
-/* { dg-options "-fpie" } */
+/* { dg-options "-fpie -pie" } */
int main(void)
{
diff --git a/gcc/testsuite/gcc.dg/pr67432.c b/gcc/testsuite/gcc.dg/pr67432.c
new file mode 100644
index 00000000000..74367a97251
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr67432.c
@@ -0,0 +1,6 @@
+/* PR c/67432 */
+/* { dg-do compile } */
+
+enum {}; /* { dg-error "empty enum is invalid" } */
+enum E {}; /* { dg-error "empty enum is invalid" } */
+enum F {} e; /* { dg-error "empty enum is invalid" } */
diff --git a/gcc/testsuite/gcc.dg/pr67512.c b/gcc/testsuite/gcc.dg/pr67512.c
new file mode 100644
index 00000000000..95f836aea00
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr67512.c
@@ -0,0 +1,15 @@
+/* PR middle-end/67512 */
+/* { dg-do compile } */
+/* { dg-options "-O -Wuninitialized" } */
+
+extern int fn2 (void);
+extern int fn3 (int);
+void
+fn1 (void)
+{
+ int z, m;
+ if (1 & m) /* { dg-warning "is used uninitialized" } */
+ z = fn2 ();
+ z = 1 == m ? z : 2 == m;
+ fn3 (z);
+}
diff --git a/gcc/testsuite/gcc.dg/ubsan/pr67279.c b/gcc/testsuite/gcc.dg/ubsan/pr67279.c
new file mode 100644
index 00000000000..5b5db42f96a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/ubsan/pr67279.c
@@ -0,0 +1,14 @@
+/* PR sanitizer/67279 */
+/* { dg-do compile } */
+/* { dg-options "-fsanitize=undefined -w" } */
+
+#define INT_MIN (-__INT_MAX__ - 1)
+
+void
+foo (void)
+{
+ static int a1 = 1 << 31;
+ static int a2 = 10 << 30;
+ static int a3 = 100 << 28;
+ static int a4 = INT_MIN / -1;
+}