testsuite/libgomp.c/pr39591-1.c

Go to the documentation of this file.
00001 /* PR other/39591 */
00002 /* { dg-do run } */
00003 /* { dg-options "-O2" } */
00004 
00005 extern void abort (void);
00006 
00007 int err;
00008 
00009 int
00010 main (void)
00011 {
00012 #pragma omp parallel
00013   {
00014     int array[40];
00015     int i;
00016     for (i = 0; i < sizeof array / sizeof array[0]; i++)
00017       array[i] = 0x55555555;
00018 
00019 #pragma omp for schedule(dynamic)
00020     for (i = 0; i < 50; i++)
00021 #pragma omp task shared(array)
00022       {
00023     int j;
00024     for (j = 0; j < sizeof array / sizeof array[0]; j++)
00025       if (array[j] != 0x55555555)
00026 #pragma omp atomic
00027         err++;
00028       }
00029   }
00030   if (err)
00031     abort ();
00032   return 0;
00033 }

Generated on Fri Apr 5 05:38:10 2013 for Libgomp by  doxygen 1.4.7