summaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/pr49897-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgomp/testsuite/libgomp.c/pr49897-1.c')
-rw-r--r--libgomp/testsuite/libgomp.c/pr49897-1.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c/pr49897-1.c b/libgomp/testsuite/libgomp.c/pr49897-1.c
new file mode 100644
index 000000000..d21a26252
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c/pr49897-1.c
@@ -0,0 +1,31 @@
+/* PR middle-end/49897 */
+/* { dg-do run } */
+
+extern void abort (void);
+
+int
+main ()
+{
+ int i, j, x = 0, y, sum = 0;
+#pragma omp parallel reduction(+:sum)
+ {
+ #pragma omp for firstprivate(x) lastprivate(x, y)
+ for (i = 0; i < 10; i++)
+ {
+ x = i;
+ y = 0;
+ #pragma omp parallel reduction(+:sum)
+ {
+ #pragma omp for firstprivate(y) lastprivate(y)
+ for (j = 0; j < 10; j++)
+ {
+ y = j;
+ sum += y;
+ }
+ }
+ }
+ }
+ if (x != 9 || y != 9 || sum != 450)
+ abort ();
+ return 0;
+}