URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.fortran/] [vla7.f90] - Rev 791
Go to most recent revision | Compare with Previous | Blame | View Log
! { dg-do run }! { dg-options "-w" }character (6) :: c, f2character (6) :: d(2)c = f1 (6)if (c .ne. 'opqrst') call abortc = f2 (6)if (c .ne. '_/!!/_') call abortd = f3 (6)if (d(1) .ne. 'opqrst' .or. d(2) .ne. 'a') call abortd = f4 (6)if (d(1) .ne. 'Opqrst' .or. d(2) .ne. 'A') call abortcontainsfunction f1 (n)use omp_libcharacter (n) :: f1logical :: lf1 = 'abcdef'l = .false.!$omp parallel firstprivate (f1) reduction (.or.:l) num_threads (2)l = f1 .ne. 'abcdef'if (omp_get_thread_num () .eq. 0) f1 = 'ijklmn'if (omp_get_thread_num () .eq. 1) f1 = 'IJKLMN'!$omp barrierl = l .or. (omp_get_thread_num () .eq. 0 .and. f1 .ne. 'ijklmn')l = l .or. (omp_get_thread_num () .eq. 1 .and. f1 .ne. 'IJKLMN')!$omp end parallelf1 = 'zZzz_z'!$omp parallel shared (f1) reduction (.or.:l) num_threads (2)l = l .or. f1 .ne. 'zZzz_z'!$omp barrier!$omp masterf1 = 'abc'!$omp end master!$omp barrierl = l .or. f1 .ne. 'abc'!$omp barrierif (omp_get_thread_num () .eq. 1) f1 = 'def'!$omp barrierl = l .or. f1 .ne. 'def'!$omp end parallelif (l) call abortf1 = 'opqrst'end function f1function f3 (n)use omp_libcharacter (n), dimension (2) :: f3logical :: lf3 = 'abcdef'l = .false.!$omp parallel firstprivate (f3) reduction (.or.:l) num_threads (2)l = any (f3 .ne. 'abcdef')if (omp_get_thread_num () .eq. 0) f3 = 'ijklmn'if (omp_get_thread_num () .eq. 1) f3 = 'IJKLMN'!$omp barrierl = l .or. (omp_get_thread_num () .eq. 0 .and. any (f3 .ne. 'ijklmn'))l = l .or. (omp_get_thread_num () .eq. 1 .and. any (f3 .ne. 'IJKLMN'))!$omp end parallelf3 = 'zZzz_z'!$omp parallel shared (f3) reduction (.or.:l) num_threads (2)l = l .or. any (f3 .ne. 'zZzz_z')!$omp barrier!$omp masterf3 = 'abc'!$omp end master!$omp barrierl = l .or. any (f3 .ne. 'abc')!$omp barrierif (omp_get_thread_num () .eq. 1) f3 = 'def'!$omp barrierl = l .or. any (f3 .ne. 'def')!$omp end parallelif (l) call abortf3(1) = 'opqrst'f3(2) = 'a'end function f3function f4 (n)use omp_libcharacter (n), dimension (n - 4) :: f4logical :: lf4 = 'abcdef'l = .false.!$omp parallel firstprivate (f4) reduction (.or.:l) num_threads (2)l = any (f4 .ne. 'abcdef')if (omp_get_thread_num () .eq. 0) f4 = 'ijklmn'if (omp_get_thread_num () .eq. 1) f4 = 'IJKLMN'!$omp barrierl = l .or. (omp_get_thread_num () .eq. 0 .and. any (f4 .ne. 'ijklmn'))l = l .or. (omp_get_thread_num () .eq. 1 .and. any (f4 .ne. 'IJKLMN'))l = l .or. size (f4) .ne. 2!$omp end parallelf4 = 'zZzz_z'!$omp parallel shared (f4) reduction (.or.:l) num_threads (2)l = l .or. any (f4 .ne. 'zZzz_z')!$omp barrier!$omp masterf4 = 'abc'!$omp end master!$omp barrierl = l .or. any (f4 .ne. 'abc')!$omp barrierif (omp_get_thread_num () .eq. 1) f4 = 'def'!$omp barrierl = l .or. any (f4 .ne. 'def')l = l .or. size (f4) .ne. 2!$omp end parallelif (l) call abortf4(1) = 'Opqrst'f4(2) = 'A'end function f4endfunction f2 (n)use omp_libcharacter (*) :: f2logical :: lf2 = 'abcdef'l = .false.!$omp parallel firstprivate (f2) reduction (.or.:l) num_threads (2)l = f2 .ne. 'abcdef'if (omp_get_thread_num () .eq. 0) f2 = 'ijklmn'if (omp_get_thread_num () .eq. 1) f2 = 'IJKLMN'!$omp barrierl = l .or. (omp_get_thread_num () .eq. 0 .and. f2 .ne. 'ijklmn')l = l .or. (omp_get_thread_num () .eq. 1 .and. f2 .ne. 'IJKLMN')!$omp end parallelf2 = 'zZzz_z'!$omp parallel shared (f2) reduction (.or.:l) num_threads (2)l = l .or. f2 .ne. 'zZzz_z'!$omp barrier!$omp masterf2 = 'abc'!$omp end master!$omp barrierl = l .or. f2 .ne. 'abc'!$omp barrierif (omp_get_thread_num () .eq. 1) f2 = 'def'!$omp barrierl = l .or. f2 .ne. 'def'!$omp end parallelif (l) call abortf2 = '_/!!/_'end function f2
Go to most recent revision | Compare with Previous | Blame | View Log
