xref: /openbsd-src/gnu/gcc/libgomp/testsuite/libgomp.c/nestedfn-5.c (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
3 
4 extern void abort (void);
5 
6 void
foo(int * j)7 foo (int *j)
8 {
9   int i = 5;
10   int bar (void) { return i + 1; }
11 #pragma omp sections
12   {
13     #pragma omp section
14       {
15 	if (bar () != 6)
16 	#pragma omp atomic
17 	  ++*j;
18       }
19     #pragma omp section
20       {
21 	if (bar () != 6)
22 	#pragma omp atomic
23 	  ++*j;
24       }
25   }
26 }
27 
28 int
main(void)29 main (void)
30 {
31   int j = 0;
32 #pragma omp parallel num_threads (2)
33   foo (&j);
34   if (j)
35     abort ();
36   return 0;
37 }
38 
39