diff options
Diffstat (limited to 'gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c')
-rw-r--r-- | gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c b/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c deleted file mode 100644 index 5d719cd63..000000000 --- a/gcc-4.4.3/libgomp/testsuite/libgomp.c/pr33880.c +++ /dev/null @@ -1,123 +0,0 @@ -/* PR middle-end/33880 */ -/* { dg-do run } */ - -extern void abort (void); - -void -test1 (void) -{ - int i = 0, j = 0; - void bar (void) - { - i++; - j++; - } - bar (); - #pragma omp parallel for num_threads(4) - for (i = 0; i < 100; i++) - #pragma omp atomic - j += 1; - if (j != 101) - abort (); - #pragma omp parallel for lastprivate(i) num_threads(2) - for (i = 0; i < 100; i++) - #pragma omp atomic - j += 1; - if (i != 100) - abort (); - i = 3; - bar (); - if (j != 202) - abort (); - if (i != 4) - abort (); -} - -void -test2 (void) -{ - int i = -1, j = 99, k, l = 9, m = 0; - void bar (void) - { - i++; - j++; - l++; - m++; - } - bar (); - #pragma omp parallel for num_threads(4) - for (k = i; k < j; k += l) - #pragma omp atomic - m += 1; - bar (); - if (i != 1 || j != 101 || l != 11 || m != 12) - abort (); -} - -void -test3 (void) -{ - int i, j, k, l, m; - void bar (void) - { - #pragma omp parallel for num_threads(4) - for (i = j; i < k; i += l) - #pragma omp atomic - m += 1; - } - void baz (void) - { - #pragma omp parallel for num_threads(2) lastprivate(i) - for (i = j; i < k * 2; i += l / 2) - #pragma omp atomic - m += 1; - } - i = 7; - j = 0; - k = 100; - l = 2; - m = 0; - bar (); - if (j != 0 || k != 100 || l != 2 || m != 50) - abort (); - baz (); - if (i != 200 || j != 0 || k != 100 || l != 2 || m != 250) - abort (); -} - -void -test4 (void) -{ - int i, j, k, l, m = 0; - int foo (void) - { - return j; - } - int bar (void) - { - return k; - } - int baz (void) - { - return l; - } - j = 0; - k = 1000; - l = 2; - #pragma omp parallel for num_threads(8) lastprivate(i) - for (i = foo (); i < bar (); i += baz ()) - #pragma omp atomic - m += 1; - if (i != 1000 || m != 500 || j != 0 || k != 1000 || l != 2) - abort (); -} - -int -main (void) -{ - test1 (); - test2 (); - test3 (); - test4 (); - return 0; -} |