aboutsummaryrefslogtreecommitdiff
path: root/libgomp/testsuite/libgomp.c/nestedfn-5.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-09-26 18:10:58 +0000
committerJakub Jelinek <jakub@redhat.com>2006-09-26 18:10:58 +0000
commita1679445b89ba829d6f7c971cacc10963be5e35e (patch)
tree363a6e44b0cedce330dc22f91e904959a53d14b3 /libgomp/testsuite/libgomp.c/nestedfn-5.c
parent1bb9b5aa2036184581d57aefd18f7f32f8ac5d13 (diff)
PR middle-end/25261
PR middle-end/28790 * tree-nested.c (struct nesting_info): Added static_chain_added. (convert_call_expr): Set static_chain_added when adding static chain. Handle OMP_PARALLEL and OMP_SECTION. * gcc.dg/gomp/nestedfn-1.c: New test. * testsuite/libgomp.c/nestedfn-4.c: New test. * testsuite/libgomp.c/nestedfn-5.c: New test. * testsuite/libgomp.fortran/nestedfn3.f90: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@117235 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgomp/testsuite/libgomp.c/nestedfn-5.c')
-rw-r--r--libgomp/testsuite/libgomp.c/nestedfn-5.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libgomp/testsuite/libgomp.c/nestedfn-5.c b/libgomp/testsuite/libgomp.c/nestedfn-5.c
new file mode 100644
index 00000000000..6072b1fe369
--- /dev/null
+++ b/libgomp/testsuite/libgomp.c/nestedfn-5.c
@@ -0,0 +1,38 @@
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+
+extern void abort (void);
+
+void
+foo (int *j)
+{
+ int i = 5;
+ int bar (void) { return i + 1; }
+#pragma omp sections
+ {
+ #pragma omp section
+ {
+ if (bar () != 6)
+ #pragma omp atomic
+ ++*j;
+ }
+ #pragma omp section
+ {
+ if (bar () != 6)
+ #pragma omp atomic
+ ++*j;
+ }
+ }
+}
+
+int
+main (void)
+{
+ int j = 0;
+#pragma omp parallel num_threads (2)
+ foo (&j);
+ if (j)
+ abort ();
+ return 0;
+}
+