URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.fortran/] [vla8.f90] - Rev 735
Compare with Previous | Blame | View Log
! { dg-do run }! { dg-timeout-factor 2.0 }call testcontainssubroutine check (x, y, l)integer :: x, ylogical :: ll = l .or. x .ne. yend subroutine checksubroutine foo (c, d, e, f, g, h, i, j, k, n)use omp_libinteger :: ncharacter (len = *) :: ccharacter (len = n) :: dinteger, dimension (2, 3:5, n) :: einteger, dimension (2, 3:n, n) :: fcharacter (len = *), dimension (5, 3:n) :: gcharacter (len = n), dimension (5, 3:n) :: hreal, dimension (:, :, :) :: idouble precision, dimension (3:, 5:, 7:) :: jinteger, dimension (:, :, :) :: klogical :: linteger :: p, q, rcharacter (len = n) :: sinteger, dimension (2, 3:5, n) :: tinteger, dimension (2, 3:n, n) :: ucharacter (len = n), dimension (5, 3:n) :: vcharacter (len = 2 * n + 24) :: winteger :: x, zcharacter (len = 1) :: yl = .false.!$omp parallel default (none) private (c, d, e, f, g, h, i, j, k) &!$omp & private (s, t, u, v) reduction (.or.:l) num_threads (6) &!$omp private (p, q, r, w, x, y) shared (z)x = omp_get_thread_num ()w = ''if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'c = w(8:19)d = w(1:7)forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * rforall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * rforall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * rforall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * rforall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * rs = w(20:26)forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * rforall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * rforall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)!$omp barriery = ''if (x .eq. 0) y = '0'if (x .eq. 1) y = '1'if (x .eq. 2) y = '2'if (x .eq. 3) y = '3'if (x .eq. 4) y = '4'if (x .eq. 5) y = '5'l = l .or. w(7:7) .ne. yl = l .or. w(19:19) .ne. yl = l .or. w(26:26) .ne. yl = l .or. w(38:38) .ne. yl = l .or. c .ne. w(8:19)l = l .or. d .ne. w(1:7)l = l .or. s .ne. w(20:26)do 103, p = 1, 2do 103, q = 3, 7do 103, r = 1, 7if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * rl = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * rl = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)103 continuedo 104, p = 3, 5do 104, q = 2, 6do 104, r = 1, 7l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * rl = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r104 continuedo 105, p = 1, 5do 105, q = 4, 6l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q105 continuecall check (size (e, 1), 2, l)call check (size (e, 2), 3, l)call check (size (e, 3), 7, l)call check (size (e), 42, l)call check (size (f, 1), 2, l)call check (size (f, 2), 5, l)call check (size (f, 3), 7, l)call check (size (f), 70, l)call check (size (g, 1), 5, l)call check (size (g, 2), 5, l)call check (size (g), 25, l)call check (size (h, 1), 5, l)call check (size (h, 2), 5, l)call check (size (h), 25, l)call check (size (i, 1), 3, l)call check (size (i, 2), 5, l)call check (size (i, 3), 7, l)call check (size (i), 105, l)call check (size (j, 1), 4, l)call check (size (j, 2), 5, l)call check (size (j, 3), 7, l)call check (size (j), 140, l)call check (size (k, 1), 5, l)call check (size (k, 2), 1, l)call check (size (k, 3), 3, l)call check (size (k), 15, l)!$omp singlez = omp_get_thread_num ()!$omp end single copyprivate (c, d, e, f, g, h, i, j, k, s, t, u, v)w = ''x = zif (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'y = ''if (x .eq. 0) y = '0'if (x .eq. 1) y = '1'if (x .eq. 2) y = '2'if (x .eq. 3) y = '3'if (x .eq. 4) y = '4'if (x .eq. 5) y = '5'l = l .or. w(7:7) .ne. yl = l .or. w(19:19) .ne. yl = l .or. w(26:26) .ne. yl = l .or. w(38:38) .ne. yl = l .or. c .ne. w(8:19)l = l .or. d .ne. w(1:7)l = l .or. s .ne. w(20:26)do 113, p = 1, 2do 113, q = 3, 7do 113, r = 1, 7if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * rl = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * rl = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)113 continuedo 114, p = 3, 5do 114, q = 2, 6do 114, r = 1, 7l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * rl = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r114 continuedo 115, p = 1, 5do 115, q = 4, 6l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q115 continuex = omp_get_thread_num ()w = ''if (x .eq. 0) w = 'thread0thr_number_0THREAD0THR_NUMBER_0'if (x .eq. 1) w = 'thread1thr_number_1THREAD1THR_NUMBER_1'if (x .eq. 2) w = 'thread2thr_number_2THREAD2THR_NUMBER_2'if (x .eq. 3) w = 'thread3thr_number_3THREAD3THR_NUMBER_3'if (x .eq. 4) w = 'thread4thr_number_4THREAD4THR_NUMBER_4'if (x .eq. 5) w = 'thread5thr_number_5THREAD5THR_NUMBER_5'c = w(8:19)d = w(1:7)forall (p = 1:2, q = 3:5, r = 1:7) e(p, q, r) = 5 * x + p + q + 2 * rforall (p = 1:2, q = 3:7, r = 1:7) f(p, q, r) = 25 * x + p + q + 2 * rforall (p = 1:5, q = 3:7, p + q .le. 8) g(p, q) = w(8:19)forall (p = 1:5, q = 3:7, p + q .gt. 8) g(p, q) = w(27:38)forall (p = 1:5, q = 3:7, p + q .le. 8) h(p, q) = w(1:7)forall (p = 1:5, q = 3:7, p + q .gt. 8) h(p, q) = w(20:26)forall (p = 3:5, q = 2:6, r = 1:7) i(p - 2, q - 1, r) = (7.5 + x) * p * q * rforall (p = 3:5, q = 2:6, r = 1:7) j(p, q + 3, r + 6) = (9.5 + x) * p * q * rforall (p = 1:5, q = 7:7, r = 4:6) k(p, q - 6, r - 3) = 19 + x + p + q + 3 * rs = w(20:26)forall (p = 1:2, q = 3:5, r = 1:7) t(p, q, r) = -10 + x + p - q + 2 * rforall (p = 1:2, q = 3:7, r = 1:7) u(p, q, r) = 30 - x - p + q - 2 * rforall (p = 1:5, q = 3:7, p + q .le. 8) v(p, q) = w(1:7)forall (p = 1:5, q = 3:7, p + q .gt. 8) v(p, q) = w(20:26)!$omp barriery = ''if (x .eq. 0) y = '0'if (x .eq. 1) y = '1'if (x .eq. 2) y = '2'if (x .eq. 3) y = '3'if (x .eq. 4) y = '4'if (x .eq. 5) y = '5'l = l .or. w(7:7) .ne. yl = l .or. w(19:19) .ne. yl = l .or. w(26:26) .ne. yl = l .or. w(38:38) .ne. yl = l .or. c .ne. w(8:19)l = l .or. d .ne. w(1:7)l = l .or. s .ne. w(20:26)do 123, p = 1, 2do 123, q = 3, 7do 123, r = 1, 7if (q .lt. 6) l = l .or. e(p, q, r) .ne. 5 * x + p + q + 2 * rl = l .or. f(p, q, r) .ne. 25 * x + p + q + 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. g(r, q) .ne. w(8:19)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. g(r, q) .ne. w(27:38)if (r .lt. 6 .and. q + r .le. 8) l = l .or. h(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. h(r, q) .ne. w(20:26)if (q .lt. 6) l = l .or. t(p, q, r) .ne. -10 + x + p - q + 2 * rl = l .or. u(p, q, r) .ne. 30 - x - p + q - 2 * rif (r .lt. 6 .and. q + r .le. 8) l = l .or. v(r, q) .ne. w(1:7)if (r .lt. 6 .and. q + r .gt. 8) l = l .or. v(r, q) .ne. w(20:26)123 continuedo 124, p = 3, 5do 124, q = 2, 6do 124, r = 1, 7l = l .or. i(p - 2, q - 1, r) .ne. (7.5 + x) * p * q * rl = l .or. j(p, q + 3, r + 6) .ne. (9.5 + x) * p * q * r124 continuedo 125, p = 1, 5do 125, q = 4, 6l = l .or. k(p, 1, q - 3) .ne. 19 + x + p + 7 + 3 * q125 continue!$omp end parallelif (l) call abortend subroutine foosubroutine testcharacter (len = 12) :: ccharacter (len = 7) :: dinteger, dimension (2, 3:5, 7) :: einteger, dimension (2, 3:7, 7) :: fcharacter (len = 12), dimension (5, 3:7) :: gcharacter (len = 7), dimension (5, 3:7) :: hreal, dimension (3:5, 2:6, 1:7) :: idouble precision, dimension (3:6, 2:6, 1:7) :: jinteger, dimension (1:5, 7:7, 4:6) :: kinteger :: p, q, rcall foo (c, d, e, f, g, h, i, j, k, 7)end subroutine testend
