re PR fortran/84381 (replace non-std 'call abort' by 'stop 1' in gfortran testsuite)
2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84381 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard call abort by STOP n. * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise. * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise. * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise. * testsuite/libgomp.fortran/allocatable1.f90: Likewise. * testsuite/libgomp.fortran/allocatable10.f90: Likewise. * testsuite/libgomp.fortran/allocatable11.f90: Likewise. * testsuite/libgomp.fortran/allocatable12.f90: Likewise. * testsuite/libgomp.fortran/allocatable2.f90: Likewise. * testsuite/libgomp.fortran/allocatable3.f90: Likewise. * testsuite/libgomp.fortran/allocatable4.f90: Likewise. * testsuite/libgomp.fortran/allocatable5.f90: Likewise. * testsuite/libgomp.fortran/allocatable6.f90: Likewise. * testsuite/libgomp.fortran/allocatable7.f90: Likewise. * testsuite/libgomp.fortran/allocatable8.f90: Likewise. * testsuite/libgomp.fortran/allocatable9.f90: Likewise. * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise. * testsuite/libgomp.fortran/associate1.f90: Likewise. * testsuite/libgomp.fortran/associate2.f90: Likewise. * testsuite/libgomp.fortran/associate3.f90: Likewise. * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise. * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise. * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise. * testsuite/libgomp.fortran/character1.f90: Likewise. * testsuite/libgomp.fortran/character2.f90: Likewise. * testsuite/libgomp.fortran/collapse1.f90: Likewise. * testsuite/libgomp.fortran/collapse2.f90: Likewise. * testsuite/libgomp.fortran/collapse3.f90: Likewise. * testsuite/libgomp.fortran/collapse4.f90: Likewise. * testsuite/libgomp.fortran/crayptr1.f90: Likewise. * testsuite/libgomp.fortran/crayptr2.f90: Likewise. * testsuite/libgomp.fortran/crayptr3.f90: Likewise. * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise. * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise. * testsuite/libgomp.fortran/declare-target-2.f90: Likewise. * testsuite/libgomp.fortran/depend-1.f90: Likewise. * testsuite/libgomp.fortran/depend-2.f90: Likewise. * testsuite/libgomp.fortran/depend-3.f90: Likewise. * testsuite/libgomp.fortran/do1.f90: Likewise. * testsuite/libgomp.fortran/do2.f90: Likewise. * testsuite/libgomp.fortran/doacross1.f90: Likewise. * testsuite/libgomp.fortran/doacross2.f90: Likewise. * testsuite/libgomp.fortran/doacross3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise. * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise. * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise. * testsuite/libgomp.fortran/lastprivate1.f90: Likewise. * testsuite/libgomp.fortran/lastprivate2.f90: Likewise. * testsuite/libgomp.fortran/lib1.f90: Likewise. * testsuite/libgomp.fortran/lib2.f: Likewise. * testsuite/libgomp.fortran/lib3.f: Likewise. * testsuite/libgomp.fortran/lib4.f90: Likewise. * testsuite/libgomp.fortran/lock-1.f90: Likewise. * testsuite/libgomp.fortran/lock-2.f90: Likewise. * testsuite/libgomp.fortran/nested1.f90: Likewise. * testsuite/libgomp.fortran/nestedfn1.f90: Likewise. * testsuite/libgomp.fortran/nestedfn2.f90: Likewise. * testsuite/libgomp.fortran/nestedfn3.f90: Likewise. * testsuite/libgomp.fortran/nestedfn4.f90: Likewise. * testsuite/libgomp.fortran/nestedfn5.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise. * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise. * testsuite/libgomp.fortran/omp_cond1.f: Likewise. * testsuite/libgomp.fortran/omp_cond2.f: Likewise. * testsuite/libgomp.fortran/omp_cond3.F90: Likewise. * testsuite/libgomp.fortran/omp_cond4.F90: Likewise. * testsuite/libgomp.fortran/omp_parse1.f90: Likewise. * testsuite/libgomp.fortran/omp_parse2.f90: Likewise. * testsuite/libgomp.fortran/omp_parse3.f90: Likewise. * testsuite/libgomp.fortran/omp_parse4.f90: Likewise. * testsuite/libgomp.fortran/openmp_version-1.f: Likewise. * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise. * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise. * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise. * testsuite/libgomp.fortran/pointer1.f90: Likewise. * testsuite/libgomp.fortran/pointer2.f90: Likewise. * testsuite/libgomp.fortran/pr25162.f: Likewise. * testsuite/libgomp.fortran/pr25219.f90: Likewise. * testsuite/libgomp.fortran/pr27395-1.f90: Likewise. * testsuite/libgomp.fortran/pr27395-2.f90: Likewise. * testsuite/libgomp.fortran/pr27416-1.f90: Likewise. * testsuite/libgomp.fortran/pr27916-1.f90: Likewise. * testsuite/libgomp.fortran/pr27916-2.f90: Likewise. * testsuite/libgomp.fortran/pr28390.f: Likewise. * testsuite/libgomp.fortran/pr29629.f90: Likewise. * testsuite/libgomp.fortran/pr32550.f90: Likewise. * testsuite/libgomp.fortran/pr33880.f90: Likewise. * testsuite/libgomp.fortran/pr34020.f90: Likewise. * testsuite/libgomp.fortran/pr35130.f90: Likewise. * testsuite/libgomp.fortran/pr42162.f90: Likewise. * testsuite/libgomp.fortran/pr46753.f90: Likewise. * testsuite/libgomp.fortran/pr48894.f90: Likewise. * testsuite/libgomp.fortran/pr49792-1.f90: Likewise. * testsuite/libgomp.fortran/pr49792-2.f90: Likewise. * testsuite/libgomp.fortran/pr63938-1.f90: Likewise. * testsuite/libgomp.fortran/pr63938-2.f90: Likewise. * testsuite/libgomp.fortran/pr65597.f90: Likewise. * testsuite/libgomp.fortran/pr66199-1.f90: Likewise. * testsuite/libgomp.fortran/pr71014.f90: Likewise. * testsuite/libgomp.fortran/pr81304.f90: Likewise. * testsuite/libgomp.fortran/pr81841.f90: Likewise. * testsuite/libgomp.fortran/pr84418-1.f90: Likewise. * testsuite/libgomp.fortran/pr84418-2.f90: Likewise. * testsuite/libgomp.fortran/procptr1.f90: Likewise. * testsuite/libgomp.fortran/recursion1.f90: Likewise. * testsuite/libgomp.fortran/reduction1.f90: Likewise. * testsuite/libgomp.fortran/reduction2.f90: Likewise. * testsuite/libgomp.fortran/reduction3.f90: Likewise. * testsuite/libgomp.fortran/reduction4.f90: Likewise. * testsuite/libgomp.fortran/reduction5.f90: Likewise. * testsuite/libgomp.fortran/reduction6.f90: Likewise. * testsuite/libgomp.fortran/reference1.f90: Likewise. * testsuite/libgomp.fortran/reference2.f90: Likewise. * testsuite/libgomp.fortran/retval1.f90: Likewise. * testsuite/libgomp.fortran/retval2.f90: Likewise. * testsuite/libgomp.fortran/sharing1.f90: Likewise. * testsuite/libgomp.fortran/sharing2.f90: Likewise. * testsuite/libgomp.fortran/simd1.f90: Likewise. * testsuite/libgomp.fortran/simd2.f90: Likewise. * testsuite/libgomp.fortran/simd3.f90: Likewise. * testsuite/libgomp.fortran/simd4.f90: Likewise. * testsuite/libgomp.fortran/simd5.f90: Likewise. * testsuite/libgomp.fortran/simd6.f90: Likewise. * testsuite/libgomp.fortran/simd7.f90: Likewise. * testsuite/libgomp.fortran/stack.f90: Likewise. * testsuite/libgomp.fortran/strassen.f90: Likewise. * testsuite/libgomp.fortran/tabs1.f90: Likewise. * testsuite/libgomp.fortran/tabs2.f: Likewise. * testsuite/libgomp.fortran/target1.f90: Likewise. * testsuite/libgomp.fortran/target2.f90: Likewise. * testsuite/libgomp.fortran/target3.f90: Likewise. * testsuite/libgomp.fortran/target4.f90: Likewise. * testsuite/libgomp.fortran/target5.f90: Likewise. * testsuite/libgomp.fortran/target6.f90: Likewise. * testsuite/libgomp.fortran/target7.f90: Likewise. * testsuite/libgomp.fortran/target8.f90: Likewise. * testsuite/libgomp.fortran/task1.f90: Likewise. * testsuite/libgomp.fortran/task2.f90: Likewise. * testsuite/libgomp.fortran/task3.f90: Likewise. * testsuite/libgomp.fortran/task4.f90: Likewise. * testsuite/libgomp.fortran/taskgroup1.f90: Likewise. * testsuite/libgomp.fortran/taskloop1.f90: Likewise. * testsuite/libgomp.fortran/taskloop2.f90: Likewise. * testsuite/libgomp.fortran/taskloop3.f90: Likewise. * testsuite/libgomp.fortran/taskloop4.f90: Likewise. * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. * testsuite/libgomp.fortran/threadprivate2.f90: Likewise. * testsuite/libgomp.fortran/threadprivate3.f90: Likewise. * testsuite/libgomp.fortran/threadprivate4.f90: Likewise. * testsuite/libgomp.fortran/udr1.f90: Likewise. * testsuite/libgomp.fortran/udr10.f90: Likewise. * testsuite/libgomp.fortran/udr11.f90: Likewise. * testsuite/libgomp.fortran/udr12.f90: Likewise. * testsuite/libgomp.fortran/udr13.f90: Likewise. * testsuite/libgomp.fortran/udr14.f90: Likewise. * testsuite/libgomp.fortran/udr15.f90: Likewise. * testsuite/libgomp.fortran/udr2.f90: Likewise. * testsuite/libgomp.fortran/udr3.f90: Likewise. * testsuite/libgomp.fortran/udr4.f90: Likewise. * testsuite/libgomp.fortran/udr5.f90: Likewise. * testsuite/libgomp.fortran/udr6.f90: Likewise. * testsuite/libgomp.fortran/udr7.f90: Likewise. * testsuite/libgomp.fortran/udr8.f90: Likewise. * testsuite/libgomp.fortran/udr9.f90: Likewise. * testsuite/libgomp.fortran/vla1.f90: Likewise. * testsuite/libgomp.fortran/vla2.f90: Likewise. * testsuite/libgomp.fortran/vla3.f90: Likewise. * testsuite/libgomp.fortran/vla4.f90: Likewise. * testsuite/libgomp.fortran/vla5.f90: Likewise. * testsuite/libgomp.fortran/vla6.f90: Likewise. * testsuite/libgomp.fortran/vla7.f90: Likewise. * testsuite/libgomp.fortran/vla8.f90: Likewise. * testsuite/libgomp.fortran/workshare1.f90: Likewise. * testsuite/libgomp.fortran/workshare2.f90: Likewise. * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/c2.pl: Likewise. * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise. * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise. * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise. * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise. * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise. * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise. * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise. * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise. * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise. * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise. * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise. * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise. From-SVN: r258846
This commit is contained in:
parent
32e38f6400
commit
bfc24e32b9
314 changed files with 2335 additions and 2017 deletions
|
@ -1,3 +1,321 @@
|
|||
2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/84381
|
||||
* testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
|
||||
call abort by STOP n.
|
||||
* testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable10.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable11.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable12.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/allocatable9.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/associate1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/associate2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/associate3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/character1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/character2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/collapse1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/collapse2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/collapse3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/collapse4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/crayptr1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/crayptr2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/crayptr3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/depend-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/depend-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/depend-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/do1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/do2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/doacross1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/doacross2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/doacross3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lib1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lib2.f: Likewise.
|
||||
* testsuite/libgomp.fortran/lib3.f: Likewise.
|
||||
* testsuite/libgomp.fortran/lib4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lock-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/lock-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nested1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_cond1.f: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_cond2.f: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
|
||||
* testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
|
||||
* testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
|
||||
* testsuite/libgomp.fortran/pointer1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pointer2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr25162.f: Likewise.
|
||||
* testsuite/libgomp.fortran/pr25219.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr28390.f: Likewise.
|
||||
* testsuite/libgomp.fortran/pr29629.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr32550.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr33880.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr34020.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr35130.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr42162.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr46753.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr48894.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr65597.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr71014.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr81304.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr81841.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/procptr1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/recursion1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reduction6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reference1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/reference2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/retval1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/retval2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/sharing1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/sharing2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/simd7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/stack.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/strassen.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/tabs1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/tabs2.f: Likewise.
|
||||
* testsuite/libgomp.fortran/target1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/target8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/task1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/task2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/task3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/task4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/taskloop1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/taskloop2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/taskloop3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/taskloop4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr10.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr11.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr12.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr13.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr14.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr15.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/udr9.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla2.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla3.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla4.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla5.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla6.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla7.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/vla8.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/workshare1.f90: Likewise.
|
||||
* testsuite/libgomp.fortran/workshare2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
|
||||
* testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
|
||||
|
||||
2018-03-20 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
# Plugins for offload execution, Makefile.am fragment.
|
||||
#
|
||||
# Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2014-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# Contributed by Mentor Embedded.
|
||||
#
|
||||
|
|
|
@ -42,12 +42,12 @@
|
|||
end do
|
||||
call foo (p, q, c_loc (r(1)), s)
|
||||
do i = 1, 1024
|
||||
if (p(i) /= i * i + 3 * i + 2) call abort
|
||||
if (p(i) /= i * i + 3 * i + 2) STOP 1
|
||||
p(i) = i
|
||||
end do
|
||||
call bar (p, q, c_loc (r(1)), s)
|
||||
do i = 1, 1024
|
||||
if (p(i) /= i * i + 3 * i + 2) call abort
|
||||
if (p(i) /= i * i + 3 * i + 2) STOP 2
|
||||
end do
|
||||
! Attempt to create 64-byte aligned allocatable
|
||||
do i = 1, 64
|
||||
|
@ -65,7 +65,7 @@
|
|||
end do
|
||||
call baz (p, c)
|
||||
do i = 1, 1024
|
||||
if (p(i) /= i * i + 5 * i + 2) call abort
|
||||
if (p(i) /= i * i + 5 * i + 2) STOP 3
|
||||
end do
|
||||
end if
|
||||
end
|
||||
|
|
|
@ -22,19 +22,19 @@ contains
|
|||
type (dl), intent (in) :: obj
|
||||
integer, intent (in) :: val, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: c, f
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) call abort
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) STOP 1
|
||||
if (c) then
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) call abort
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) call abort
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) STOP 2
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) STOP 3
|
||||
end if
|
||||
if (val /= 0) then
|
||||
if (obj%a /= val .or. obj%b /= val) call abort
|
||||
if (obj%d /= val .or. obj%e /= val) call abort
|
||||
if (obj%a /= val .or. obj%b /= val) STOP 4
|
||||
if (obj%d /= val .or. obj%e /= val) STOP 5
|
||||
if (c) then
|
||||
if (any (obj%c /= val)) call abort
|
||||
if (any (obj%c /= val)) STOP 6
|
||||
end if
|
||||
if (f) then
|
||||
if (obj%f /= val) call abort
|
||||
if (obj%f /= val) STOP 7
|
||||
end if
|
||||
end if
|
||||
end subroutine ver_dl
|
||||
|
@ -43,9 +43,9 @@ contains
|
|||
integer, intent (in) :: val, hl, hu, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: h, k, c, f
|
||||
integer :: i, j
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) call abort
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) STOP 8
|
||||
if (h) then
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) call abort
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) STOP 9
|
||||
do i = hl, hu
|
||||
call ver_dl (obj%h(i), val, c, cl1, cu1, cl2, cu2, f)
|
||||
end do
|
||||
|
@ -57,7 +57,7 @@ contains
|
|||
end do
|
||||
if (k) call ver_dl (obj%k, val, c, cl1, cu1, cl2, cu2, f)
|
||||
if (val /= 0) then
|
||||
if (obj%g /= val .or. obj%i /= val) call abort
|
||||
if (obj%g /= val .or. obj%i /= val) STOP 10
|
||||
end if
|
||||
end subroutine ver_dt
|
||||
subroutine alloc_dl (obj, val, c, cl1, cu1, cl2, cu2, f)
|
||||
|
|
|
@ -22,19 +22,19 @@ contains
|
|||
type (dl), intent (in) :: obj
|
||||
integer, intent (in) :: val, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: c, f
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) call abort
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) STOP 1
|
||||
if (c) then
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) call abort
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) call abort
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) STOP 2
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) STOP 3
|
||||
end if
|
||||
if (val /= 0) then
|
||||
if (obj%a /= val .or. obj%b /= val) call abort
|
||||
if (obj%d /= val .or. obj%e /= val) call abort
|
||||
if (obj%a /= val .or. obj%b /= val) STOP 4
|
||||
if (obj%d /= val .or. obj%e /= val) STOP 5
|
||||
if (c) then
|
||||
if (any (obj%c /= val)) call abort
|
||||
if (any (obj%c /= val)) STOP 6
|
||||
end if
|
||||
if (f) then
|
||||
if (obj%f /= val) call abort
|
||||
if (obj%f /= val) STOP 7
|
||||
end if
|
||||
end if
|
||||
end subroutine ver_dl
|
||||
|
@ -43,9 +43,9 @@ contains
|
|||
integer, intent (in) :: val, hl, hu, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: h, k, c, f
|
||||
integer :: i, j
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) call abort
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) STOP 8
|
||||
if (h) then
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) call abort
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) STOP 9
|
||||
do i = hl, hu
|
||||
call ver_dl (obj%h(i), val, c, cl1, cu1, cl2, cu2, f)
|
||||
end do
|
||||
|
@ -57,7 +57,7 @@ contains
|
|||
end do
|
||||
if (k) call ver_dl (obj%k, val, c, cl1, cu1, cl2, cu2, f)
|
||||
if (val /= 0) then
|
||||
if (obj%g /= val .or. obj%i /= val) call abort
|
||||
if (obj%g /= val .or. obj%i /= val) STOP 10
|
||||
end if
|
||||
end subroutine ver_dt
|
||||
subroutine alloc_dl (obj, val, c, cl1, cu1, cl2, cu2, f)
|
||||
|
@ -122,20 +122,20 @@ contains
|
|||
logical, parameter :: T = .true.
|
||||
logical :: l
|
||||
!$omp parallel private (x, y, z)
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) call abort
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) STOP 11
|
||||
!$omp end parallel
|
||||
!$omp parallel firstprivate (x, y, z)
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) call abort
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) STOP 12
|
||||
!$omp end parallel
|
||||
l = F
|
||||
!$omp parallel sections lastprivate (x, y, z) firstprivate (l)
|
||||
!$omp section
|
||||
if (.not. l) then
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) call abort
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) STOP 13
|
||||
end if
|
||||
!$omp section
|
||||
if (.not. l) then
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) call abort
|
||||
if (allocated (x) .or. allocated (y) .or. allocated (z)) STOP 14
|
||||
end if
|
||||
allocate (x, y, z(-3:-3,2:3))
|
||||
call alloc_dt (x, 5, F, 0, 0, T, T, -1, -1, -1, -1, T)
|
||||
|
@ -148,10 +148,10 @@ contains
|
|||
call ver_dt (z(-3,3), 23, T, 0, 1, T, T, 2, 2, 2, 2, F)
|
||||
!$omp section
|
||||
!$omp end parallel sections
|
||||
if (.not.allocated (x) .or. .not.allocated (y)) call abort
|
||||
if (.not.allocated (z)) call abort
|
||||
if (lbound (z, 1) /= -3 .or. ubound (z, 1) /= -3) call abort
|
||||
if (lbound (z, 2) /= 2 .or. ubound (z, 2) /= 3) call abort
|
||||
if (.not.allocated (x) .or. .not.allocated (y)) STOP 15
|
||||
if (.not.allocated (z)) STOP 16
|
||||
if (lbound (z, 1) /= -3 .or. ubound (z, 1) /= -3) STOP 17
|
||||
if (lbound (z, 2) /= 2 .or. ubound (z, 2) /= 3) STOP 18
|
||||
call ver_dt (x, 5, F, 0, 0, T, T, -1, -1, -1, -1, T)
|
||||
call ver_dt (y, 23, T, 0, 1, T, T, 2, 2, 2, 2, F)
|
||||
call ver_dt (z(-3,2), 5, F, 0, 0, T, T, -1, -1, -1, -1, T)
|
||||
|
|
|
@ -22,19 +22,19 @@ contains
|
|||
type (dl), intent (in) :: obj
|
||||
integer, intent (in) :: val, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: c, f
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) call abort
|
||||
if ((c .neqv. allocated (obj%c)) .or. (f .neqv. allocated (obj%f))) STOP 1
|
||||
if (c) then
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) call abort
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) call abort
|
||||
if (lbound (obj%c, 1) /= cl1 .or. ubound (obj%c, 1) /= cu1) STOP 2
|
||||
if (lbound (obj%c, 2) /= cl2 .or. ubound (obj%c, 2) /= cu2) STOP 3
|
||||
end if
|
||||
if (val /= 0) then
|
||||
if (obj%a /= val .or. obj%b /= val) call abort
|
||||
if (obj%d /= val .or. obj%e /= val) call abort
|
||||
if (obj%a /= val .or. obj%b /= val) STOP 4
|
||||
if (obj%d /= val .or. obj%e /= val) STOP 5
|
||||
if (c) then
|
||||
if (any (obj%c /= val)) call abort
|
||||
if (any (obj%c /= val)) STOP 6
|
||||
end if
|
||||
if (f) then
|
||||
if (obj%f /= val) call abort
|
||||
if (obj%f /= val) STOP 7
|
||||
end if
|
||||
end if
|
||||
end subroutine ver_dl
|
||||
|
@ -43,9 +43,9 @@ contains
|
|||
integer, intent (in) :: val, hl, hu, cl1, cu1, cl2, cu2
|
||||
logical, intent (in) :: h, k, c, f
|
||||
integer :: i, j
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) call abort
|
||||
if ((h .neqv. allocated (obj%h)) .or. (k .neqv. allocated (obj%k))) STOP 8
|
||||
if (h) then
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) call abort
|
||||
if (lbound (obj%h, 1) /= hl .or. ubound (obj%h, 1) /= hu) STOP 9
|
||||
do i = hl, hu
|
||||
call ver_dl (obj%h(i), val, c, cl1, cu1, cl2, cu2, f)
|
||||
end do
|
||||
|
@ -57,7 +57,7 @@ contains
|
|||
end do
|
||||
if (k) call ver_dl (obj%k, val, c, cl1, cu1, cl2, cu2, f)
|
||||
if (val /= 0) then
|
||||
if (obj%g /= val .or. obj%i /= val) call abort
|
||||
if (obj%g /= val .or. obj%i /= val) STOP 10
|
||||
end if
|
||||
end subroutine ver_dt
|
||||
subroutine alloc_dl (obj, val, c, cl1, cu1, cl2, cu2, f)
|
||||
|
@ -124,27 +124,27 @@ contains
|
|||
logical, parameter :: F = .false.
|
||||
logical, parameter :: T = .true.
|
||||
logical :: l
|
||||
if (lbound (x, 1) /= 2 .or. ubound (x, 1) /= 4) call abort
|
||||
if (lbound (y, 1) /= 3 .or. ubound (y, 1) /= 4) call abort
|
||||
if (lbound (x, 1) /= 2 .or. ubound (x, 1) /= 4) STOP 11
|
||||
if (lbound (y, 1) /= 3 .or. ubound (y, 1) /= 4) STOP 12
|
||||
call ver_dt (x(2), 0, F, 0, 0, F, F, 0, 0, 0, 0, F)
|
||||
call ver_dt (x(n), 0, F, 0, 0, F, F, 0, 0, 0, 0, F)
|
||||
call ver_dt (y(3), 0, F, 0, 0, F, F, 0, 0, 0, 0, F)
|
||||
call ver_dt (y(4), 0, F, 0, 0, F, F, 0, 0, 0, 0, F)
|
||||
!$omp parallel private (z)
|
||||
if (allocated (z)) call abort
|
||||
if (allocated (z)) STOP 13
|
||||
!$omp end parallel
|
||||
!$omp parallel firstprivate (z)
|
||||
if (allocated (z)) call abort
|
||||
if (allocated (z)) STOP 14
|
||||
!$omp end parallel
|
||||
l = F
|
||||
!$omp parallel sections lastprivate (z) firstprivate (l)
|
||||
!$omp section
|
||||
if (.not. l) then
|
||||
if (allocated (z)) call abort
|
||||
if (allocated (z)) STOP 15
|
||||
end if
|
||||
!$omp section
|
||||
if (.not. l) then
|
||||
if (allocated (z)) call abort
|
||||
if (allocated (z)) STOP 16
|
||||
end if
|
||||
allocate (z(-3:-3,2:3))
|
||||
call alloc_dt (z(-3,2), 5, F, 0, 0, T, T, -1, -1, -1, -1, T)
|
||||
|
@ -153,9 +153,9 @@ contains
|
|||
call ver_dt (z(-3,3), 23, T, 0, 1, T, T, 2, 2, 2, 2, F)
|
||||
!$omp section
|
||||
!$omp end parallel sections
|
||||
if (.not.allocated (z)) call abort
|
||||
if (lbound (z, 1) /= -3 .or. ubound (z, 1) /= -3) call abort
|
||||
if (lbound (z, 2) /= 2 .or. ubound (z, 2) /= 3) call abort
|
||||
if (.not.allocated (z)) STOP 17
|
||||
if (lbound (z, 1) /= -3 .or. ubound (z, 1) /= -3) STOP 18
|
||||
if (lbound (z, 2) /= 2 .or. ubound (z, 2) /= 3) STOP 19
|
||||
call ver_dt (z(-3,2), 5, F, 0, 0, T, T, -1, -1, -1, -1, T)
|
||||
call ver_dt (z(-3,3), 23, T, 0, 1, T, T, 2, 2, 2, 2, F)
|
||||
call ver_dt (x(n - 1), 0, F, 0, 0, F, F, 0, 0, 0, 0, F)
|
||||
|
@ -203,8 +203,8 @@ contains
|
|||
call alloc_dt (z(-3,2), 5, T, 1, 2, F, T, 2, 3, -2, -2, F)
|
||||
call alloc_dt (z(-3,3), 15, F, 0, 0, T, T, 2, 2, 2, 2, T)
|
||||
!$omp parallel firstprivate (x, y, z)
|
||||
if (lbound (x, 1) /= 2 .or. ubound (x, 1) /= 4) call abort
|
||||
if (lbound (y, 1) /= 3 .or. ubound (y, 1) /= 4) call abort
|
||||
if (lbound (x, 1) /= 2 .or. ubound (x, 1) /= 4) STOP 20
|
||||
if (lbound (y, 1) /= 3 .or. ubound (y, 1) /= 4) STOP 21
|
||||
call ver_dt (x(n - 1), 5, T, 1, 2, F, T, 2, 3, -2, -2, F)
|
||||
call alloc_dt (x(n - 1), 4, T, -3, -1, T, T, -1, -1, 2, 3, T)
|
||||
call ver_dt (x(n - 1), 4, T, -3, -1, T, T, -1, -1, 2, 3, T)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
logical :: k, l
|
||||
b(:, :) = 16
|
||||
l = .false.
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 1
|
||||
!$omp parallel private (a, b) reduction (.or.:l)
|
||||
l = l.or.allocated (a)
|
||||
allocate (a(3, 6))
|
||||
|
@ -18,18 +18,18 @@
|
|||
deallocate (a)
|
||||
l = l.or.allocated (a)
|
||||
!$omp end parallel
|
||||
if (allocated (a).or.l) call abort
|
||||
if (allocated (a).or.l) STOP 2
|
||||
allocate (a(6, 3))
|
||||
a(:, :) = 3
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (a)) STOP 3
|
||||
l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
|
||||
if (l) call abort
|
||||
if (l) STOP 4
|
||||
!$omp parallel private (a, b) reduction (.or.:l)
|
||||
l = l.or..not.allocated (a)
|
||||
a(3, 2) = 1
|
||||
b(3, 2) = 1
|
||||
!$omp end parallel
|
||||
if (l.or..not.allocated (a)) call abort
|
||||
if (l.or..not.allocated (a)) STOP 5
|
||||
!$omp parallel firstprivate (a, b) reduction (.or.:l)
|
||||
l = l.or..not.allocated (a)
|
||||
l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
|
||||
|
@ -41,7 +41,7 @@
|
|||
a(:, :) = omp_get_thread_num ()
|
||||
b(:, :) = omp_get_thread_num ()
|
||||
!$omp end parallel
|
||||
if (any (a.ne.3).or.any (b.ne.16).or.l) call abort
|
||||
if (any (a.ne.3).or.any (b.ne.16).or.l) STOP 6
|
||||
k = .true.
|
||||
!$omp parallel do firstprivate (a, b, k) lastprivate (a, b) &
|
||||
!$omp & reduction (.or.:l)
|
||||
|
@ -59,9 +59,9 @@
|
|||
a(:, :) = i + 2
|
||||
b(:, :) = i
|
||||
end do
|
||||
if (any (a.ne.38).or.any (b.ne.36).or.l) call abort
|
||||
if (any (a.ne.38).or.any (b.ne.36).or.l) STOP 7
|
||||
deallocate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 8
|
||||
allocate (a (0:1, 0:3))
|
||||
a(:, :) = 0
|
||||
!$omp parallel do reduction (+:a) reduction (.or.:l) &
|
||||
|
@ -72,10 +72,10 @@
|
|||
a(modulo (i, 2), i / 2) = a(modulo (i, 2), i / 2) + i
|
||||
a(i / 4, modulo (i, 4)) = a(i / 4, modulo (i, 4)) + i
|
||||
end do
|
||||
if (l) call abort
|
||||
if (l) STOP 9
|
||||
do i = 0, 1
|
||||
do j = 0, 3
|
||||
if (a(i, j) .ne. (5*i + 3*j)) call abort
|
||||
if (a(i, j) .ne. (5*i + 3*j)) STOP 10
|
||||
end do
|
||||
end do
|
||||
end
|
||||
|
|
|
@ -4,109 +4,109 @@
|
|||
integer :: i
|
||||
!$omp declare reduction (foo : integer : omp_out = omp_out + omp_in) &
|
||||
!$omp & initializer (omp_priv = 0)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 1
|
||||
allocate (a, b(6:9), c(3, 8:9))
|
||||
a = 0
|
||||
b = 0
|
||||
c = 0
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 2
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 3
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 4
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 5
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 6
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 7
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 8
|
||||
!$omp parallel do reduction (+:a, b, c)
|
||||
do i = 1, 10
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 9
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 10
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 11
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 12
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 13
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 14
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 15
|
||||
a = a + i
|
||||
b = b + 2 * i
|
||||
c = c + 3 * i
|
||||
end do
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) call abort
|
||||
if (.not.allocated (a)) STOP 16
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 17
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 18
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 19
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 20
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 21
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 22
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) STOP 23
|
||||
a = 0
|
||||
b = 0
|
||||
c = 0
|
||||
!$omp parallel do reduction (foo : a, b, c)
|
||||
do i = 1, 10
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 24
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 25
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 26
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 27
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 28
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 29
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 30
|
||||
a = a + i
|
||||
b = b + 2 * i
|
||||
c = c + 3 * i
|
||||
end do
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) call abort
|
||||
if (.not.allocated (a)) STOP 31
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 32
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 33
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 34
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 35
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 36
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 37
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) STOP 38
|
||||
a = 0
|
||||
b = 0
|
||||
c = 0
|
||||
!$omp simd reduction (+:a, b, c)
|
||||
do i = 1, 10
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 39
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 40
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 41
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 42
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 43
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 44
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 45
|
||||
a = a + i
|
||||
b = b + 2 * i
|
||||
c = c + 3 * i
|
||||
end do
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) call abort
|
||||
if (.not.allocated (a)) STOP 46
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 47
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 48
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 49
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 50
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 51
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 52
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) STOP 53
|
||||
a = 0
|
||||
b = 0
|
||||
c = 0
|
||||
!$omp simd reduction (foo : a, b, c)
|
||||
do i = 1, 10
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 54
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 55
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 56
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 57
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 58
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 59
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 60
|
||||
a = a + i
|
||||
b = b + 2 * i
|
||||
c = c + 3 * i
|
||||
end do
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) call abort
|
||||
if (.not.allocated (a)) STOP 61
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 62
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 63
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 64
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 65
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 66
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 67
|
||||
if (a /= 55 .or. any (b /= 110) .or. any (c /= 165)) STOP 68
|
||||
end
|
||||
|
|
|
@ -5,68 +5,68 @@
|
|||
integer, allocatable, save :: a, b(:), c(:,:)
|
||||
integer :: p
|
||||
!$omp threadprivate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 1
|
||||
|
||||
call omp_set_dynamic (.false.)
|
||||
call omp_set_num_threads (4)
|
||||
|
||||
!$omp parallel num_threads (4)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 2
|
||||
!$omp end parallel
|
||||
|
||||
allocate (a, b(6:9), c(3, 8:9))
|
||||
a = 4
|
||||
b = 5
|
||||
c = 6
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 3
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 4
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 5
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 6
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 7
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 8
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 9
|
||||
|
||||
!$omp parallel num_threads (4) copyin (a, b, c) private (p)
|
||||
p = omp_get_thread_num ()
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 4 .or. any (b /= 5) .or. any (c /= 6)) call abort
|
||||
if (.not.allocated (a)) STOP 10
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 11
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 12
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 13
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 14
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 15
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 16
|
||||
if (a /= 4 .or. any (b /= 5) .or. any (c /= 6)) STOP 17
|
||||
deallocate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 18
|
||||
allocate (a, b(p:9), c(3, p:7))
|
||||
a = p
|
||||
b = p
|
||||
c = p
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= (10 - p)) call abort
|
||||
if (lbound (b, 1) /= p .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= (3 * (8 - p))) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= (8 - p)) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= p .or. ubound (c, 2) /= 7) call abort
|
||||
if (a /= p .or. any (b /= p) .or. any (c /= p)) call abort
|
||||
if (.not.allocated (a)) STOP 19
|
||||
if (.not.allocated (b) .or. size (b) /= (10 - p)) STOP 20
|
||||
if (lbound (b, 1) /= p .or. ubound (b, 1) /= 9) STOP 21
|
||||
if (.not.allocated (c) .or. size (c) /= (3 * (8 - p))) STOP 22
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= (8 - p)) STOP 23
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 24
|
||||
if (lbound (c, 2) /= p .or. ubound (c, 2) /= 7) STOP 25
|
||||
if (a /= p .or. any (b /= p) .or. any (c /= p)) STOP 26
|
||||
!$omp end parallel
|
||||
|
||||
!$omp parallel num_threads (4) copyin (a, b, c)
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 10) call abort
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 24) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 8) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 0 .or. ubound (c, 2) /= 7) call abort
|
||||
if (a /= 0 .or. any (b /= 0) .or. any (c /= 0)) call abort
|
||||
if (.not.allocated (a)) STOP 27
|
||||
if (.not.allocated (b) .or. size (b) /= 10) STOP 28
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 9) STOP 29
|
||||
if (.not.allocated (c) .or. size (c) /= 24) STOP 30
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 8) STOP 31
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 32
|
||||
if (lbound (c, 2) /= 0 .or. ubound (c, 2) /= 7) STOP 33
|
||||
if (a /= 0 .or. any (b /= 0) .or. any (c /= 0)) STOP 34
|
||||
!$omp end parallel
|
||||
|
||||
deallocate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 35
|
||||
|
||||
!$omp parallel num_threads (4) copyin (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 36
|
||||
!$omp end parallel
|
||||
end
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
integer, allocatable :: a, b(:), c(:,:)
|
||||
logical :: l
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 1
|
||||
|
||||
!$omp parallel private (a, b, c, l)
|
||||
l = .false.
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 2
|
||||
|
||||
!$omp single
|
||||
allocate (a, b(6:9), c(3, 8:9))
|
||||
|
@ -15,60 +15,60 @@
|
|||
c = 6
|
||||
!$omp end single copyprivate (a, b, c)
|
||||
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 4 .or. any (b /= 5) .or. any (c /= 6)) call abort
|
||||
if (.not.allocated (a)) STOP 3
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 4
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 5
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 6
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 7
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 8
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 9
|
||||
if (a /= 4 .or. any (b /= 5) .or. any (c /= 6)) STOP 10
|
||||
|
||||
!$omp single
|
||||
deallocate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 11
|
||||
allocate (a, b(0:4), c(3, 2:7))
|
||||
a = 1
|
||||
b = 2
|
||||
c = 3
|
||||
!$omp end single copyprivate (a, b, c)
|
||||
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 5) call abort
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 4) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 18) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 6) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 2 .or. ubound (c, 2) /= 7) call abort
|
||||
if (a /= 1 .or. any (b /= 2) .or. any (c /= 3)) call abort
|
||||
if (.not.allocated (a)) STOP 12
|
||||
if (.not.allocated (b) .or. size (b) /= 5) STOP 13
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 4) STOP 14
|
||||
if (.not.allocated (c) .or. size (c) /= 18) STOP 15
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 6) STOP 16
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 17
|
||||
if (lbound (c, 2) /= 2 .or. ubound (c, 2) /= 7) STOP 18
|
||||
if (a /= 1 .or. any (b /= 2) .or. any (c /= 3)) STOP 19
|
||||
|
||||
!$omp single
|
||||
l = .true.
|
||||
deallocate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 20
|
||||
allocate (a, b(2:6), c(3:5, 3:8))
|
||||
a = 7
|
||||
b = 8
|
||||
c = 9
|
||||
!$omp end single copyprivate (a, b, c)
|
||||
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 5) call abort
|
||||
if (.not.allocated (a)) STOP 21
|
||||
if (.not.allocated (b) .or. size (b) /= 5) STOP 22
|
||||
if (l) then
|
||||
if (lbound (b, 1) /= 2 .or. ubound (b, 1) /= 6) call abort
|
||||
if (lbound (b, 1) /= 2 .or. ubound (b, 1) /= 6) STOP 23
|
||||
else
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 4) call abort
|
||||
if (lbound (b, 1) /= 0 .or. ubound (b, 1) /= 4) STOP 24
|
||||
end if
|
||||
if (.not.allocated (c) .or. size (c) /= 18) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 6) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 18) STOP 25
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 6) STOP 26
|
||||
if (l) then
|
||||
if (lbound (c, 1) /= 3 .or. ubound (c, 1) /= 5) call abort
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 8) call abort
|
||||
if (lbound (c, 1) /= 3 .or. ubound (c, 1) /= 5) STOP 27
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 8) STOP 28
|
||||
else
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 2 .or. ubound (c, 2) /= 7) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 29
|
||||
if (lbound (c, 2) /= 2 .or. ubound (c, 2) /= 7) STOP 30
|
||||
end if
|
||||
if (a /= 7 .or. any (b /= 8) .or. any (c /= 9)) call abort
|
||||
if (a /= 7 .or. any (b /= 8) .or. any (c /= 9)) STOP 31
|
||||
|
||||
!$omp end parallel
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
integer :: n
|
||||
logical :: l
|
||||
!$omp threadprivate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 1
|
||||
call omp_set_dynamic (.false.)
|
||||
l = .false.
|
||||
!$omp parallel num_threads (4) reduction(.or.:l)
|
||||
|
@ -16,7 +16,7 @@
|
|||
l = l.or..not.allocated (a)
|
||||
l = l.or.size(a).ne.12.or.size(a,1).ne.3.or.size(a,2).ne.4
|
||||
!$omp end parallel
|
||||
if (l.or.any(a.ne.6)) call abort ()
|
||||
if (l.or.any(a.ne.6)) STOP 1
|
||||
!$omp parallel num_threads (4) copyin (a) reduction(.or.:l) private (b)
|
||||
l = l.or.allocated (b)
|
||||
l = l.or..not.allocated (a)
|
||||
|
@ -37,11 +37,11 @@
|
|||
deallocate (b)
|
||||
l = l.or.allocated (b)
|
||||
!$omp end parallel
|
||||
if (n.lt.0 .or. n.ge.4) call abort
|
||||
if (l.or.any(a.ne.(n + 36))) call abort
|
||||
if (n.lt.0 .or. n.ge.4) STOP 2
|
||||
if (l.or.any(a.ne.(n + 36))) STOP 3
|
||||
!$omp parallel num_threads (4) reduction(.or.:l)
|
||||
deallocate (a)
|
||||
l = l.or.allocated (a)
|
||||
!$omp end parallel
|
||||
if (l.or.allocated (a)) call abort
|
||||
if (l.or.allocated (a)) STOP 4
|
||||
end
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
integer :: i
|
||||
logical :: l
|
||||
l = .false.
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 1
|
||||
!$omp parallel private (a) reduction (.or.:l)
|
||||
allocate (a (-7:-5))
|
||||
l = l.or..not.allocated (a)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
logical :: k, l
|
||||
b(:, :) = 16
|
||||
l = .false.
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 1
|
||||
!$omp task private (a, b) shared (l)
|
||||
l = l.or.allocated (a)
|
||||
allocate (a(3, 6))
|
||||
|
@ -18,19 +18,19 @@
|
|||
l = l.or.allocated (a)
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
if (allocated (a).or.l) call abort
|
||||
if (allocated (a).or.l) STOP 2
|
||||
allocate (a(6, 3))
|
||||
a(:, :) = 3
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (a)) STOP 3
|
||||
l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
|
||||
if (l) call abort
|
||||
if (l) STOP 4
|
||||
!$omp task private (a, b) shared (l)
|
||||
l = l.or..not.allocated (a)
|
||||
a(3, 2) = 1
|
||||
b(3, 2) = 1
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
if (l.or..not.allocated (a)) call abort
|
||||
if (l.or..not.allocated (a)) STOP 5
|
||||
!$omp task firstprivate (a, b) shared (l)
|
||||
l = l.or..not.allocated (a)
|
||||
l = l.or.size(a).ne.18.or.size(a,1).ne.6.or.size(a,2).ne.3
|
||||
|
@ -43,5 +43,5 @@
|
|||
b(:, :) = 8
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
if (any (a.ne.3).or.any (b.ne.16).or.l) call abort
|
||||
if (any (a.ne.3).or.any (b.ne.16).or.l) STOP 6
|
||||
end
|
||||
|
|
|
@ -12,6 +12,6 @@ program pr42866
|
|||
a = a + 2
|
||||
!$omp end sections
|
||||
!$omp end parallel
|
||||
if (any (a.ne.3)) call abort
|
||||
if (any (a.ne.3)) STOP 1
|
||||
deallocate (a)
|
||||
end
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
else if (i .gt. 1 .and. i .lt. 9) then
|
||||
j = 7
|
||||
end if
|
||||
if (c(i) .ne. j) call abort
|
||||
if (c(i) .ne. j) STOP 1
|
||||
j = 179 - modulo (i, 11)
|
||||
if (i .gt. 1 .and. i .lt. 9) j = i
|
||||
if (d(i) .ne. j) call abort
|
||||
if (d(i) .ne. j) STOP 2
|
||||
end do
|
||||
deallocate (a, b, c, d)
|
||||
end
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
deallocate (a)
|
||||
l = l .or. allocated (a)
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end
|
||||
|
|
|
@ -5,10 +5,10 @@
|
|||
integer, save, allocatable :: a(:, :)
|
||||
logical :: l
|
||||
!$omp threadprivate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 1
|
||||
l = .false.
|
||||
!$omp parallel copyin (a) num_threads (4) reduction(.or.:l)
|
||||
l = l.or.allocated (a)
|
||||
!$omp end parallel
|
||||
if (l.or.allocated (a)) call abort
|
||||
if (l.or.allocated (a)) STOP 2
|
||||
end
|
||||
|
|
|
@ -2,155 +2,155 @@
|
|||
|
||||
integer, allocatable :: a, b(:), c(:,:)
|
||||
logical :: l
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 1
|
||||
!$omp parallel private (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 2
|
||||
allocate (a, b(-7:-1), c(2:3, 3:5))
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 7) call abort
|
||||
if (lbound (b, 1) /= -7 .or. ubound (b, 1) /= -1) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 3) call abort
|
||||
if (lbound (c, 1) /= 2 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 5) call abort
|
||||
if (.not.allocated (a)) STOP 3
|
||||
if (.not.allocated (b) .or. size (b) /= 7) STOP 4
|
||||
if (lbound (b, 1) /= -7 .or. ubound (b, 1) /= -1) STOP 5
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 6
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 3) STOP 7
|
||||
if (lbound (c, 1) /= 2 .or. ubound (c, 1) /= 3) STOP 8
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 5) STOP 9
|
||||
a = 4
|
||||
b = 3
|
||||
c = 2
|
||||
!$omp end parallel
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 10
|
||||
!$omp parallel firstprivate (a, b, c)
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 11
|
||||
allocate (a, b(-7:-1), c(2:3, 3:5))
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 7) call abort
|
||||
if (lbound (b, 1) /= -7 .or. ubound (b, 1) /= -1) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 3) call abort
|
||||
if (lbound (c, 1) /= 2 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 5) call abort
|
||||
if (.not.allocated (a)) STOP 12
|
||||
if (.not.allocated (b) .or. size (b) /= 7) STOP 13
|
||||
if (lbound (b, 1) /= -7 .or. ubound (b, 1) /= -1) STOP 14
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 15
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 3) STOP 16
|
||||
if (lbound (c, 1) /= 2 .or. ubound (c, 1) /= 3) STOP 17
|
||||
if (lbound (c, 2) /= 3 .or. ubound (c, 2) /= 5) STOP 18
|
||||
a = 4
|
||||
b = 3
|
||||
c = 2
|
||||
!$omp end parallel
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) call abort
|
||||
if (allocated (a) .or. allocated (b) .or. allocated (c)) STOP 19
|
||||
allocate (a, b(6:9), c(3, 8:9))
|
||||
a = 2
|
||||
b = 4
|
||||
c = 5
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (a)) STOP 20
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 21
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 22
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 23
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 24
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 25
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 26
|
||||
!$omp parallel firstprivate (a, b, c)
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 2 .or. any (b .ne. 4) .or. any (c .ne. 5)) call abort
|
||||
if (.not.allocated (a)) STOP 27
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 28
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 29
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 30
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 31
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 32
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 33
|
||||
if (a /= 2 .or. any (b .ne. 4) .or. any (c .ne. 5)) STOP 34
|
||||
deallocate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 35
|
||||
allocate (a)
|
||||
a = 8
|
||||
b = (/ 1, 2, 3 /)
|
||||
c = reshape ((/ 1, 2, 3, 4, 5, 6, 7, 8 /), (/ 2, 4 /))
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 3) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) call abort
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) call abort
|
||||
if (.not.allocated (a)) STOP 36
|
||||
if (.not.allocated (b) .or. size (b) /= 3) STOP 37
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) STOP 38
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 39
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) STOP 40
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) STOP 41
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) STOP 42
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) STOP 43
|
||||
!$omp end parallel
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (a /= 2 .or. any (b .ne. 4) .or. any (c .ne. 5)) call abort
|
||||
if (.not.allocated (a)) STOP 44
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 45
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 46
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 47
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 48
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 49
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 50
|
||||
if (a /= 2 .or. any (b .ne. 4) .or. any (c .ne. 5)) STOP 51
|
||||
l = .false.
|
||||
!$omp parallel sections lastprivate (a, b, c) firstprivate (l)
|
||||
!$omp section
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (a)) STOP 52
|
||||
if (l) then
|
||||
if (.not.allocated (b) .or. size (b) /= 6) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) call abort
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 6) STOP 53
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) STOP 54
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 55
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) STOP 56
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) STOP 57
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) STOP 58
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) STOP 59
|
||||
else
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 60
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 61
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 62
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 63
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 64
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 65
|
||||
end if
|
||||
l = .true.
|
||||
deallocate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 66
|
||||
allocate (a)
|
||||
a = 8
|
||||
b = (/ 1, 2, 3 /)
|
||||
c = reshape ((/ 1, 2, 3, 4, 5, 6, 7, 8 /), (/ 2, 4 /))
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 3) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) call abort
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) call abort
|
||||
if (.not.allocated (a)) STOP 67
|
||||
if (.not.allocated (b) .or. size (b) /= 3) STOP 68
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) STOP 69
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 70
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) STOP 71
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) STOP 72
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) STOP 73
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) STOP 74
|
||||
!$omp section
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (a)) STOP 75
|
||||
if (l) then
|
||||
if (.not.allocated (b) .or. size (b) /= 3) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) call abort
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 3) STOP 76
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 3) STOP 77
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 78
|
||||
if (size (c, 1) /= 2 .or. size (c, 2) /= 4) STOP 79
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 2) STOP 80
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 4) STOP 81
|
||||
if (a /= 8 .or. b(2) /= 2 .or. c(1, 2) /= 3) STOP 82
|
||||
else
|
||||
if (.not.allocated (b) .or. size (b) /= 4) call abort
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 6) call abort
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) call abort
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 4) STOP 83
|
||||
if (lbound (b, 1) /= 6 .or. ubound (b, 1) /= 9) STOP 84
|
||||
if (.not.allocated (c) .or. size (c) /= 6) STOP 85
|
||||
if (size (c, 1) /= 3 .or. size (c, 2) /= 2) STOP 86
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 3) STOP 87
|
||||
if (lbound (c, 2) /= 8 .or. ubound (c, 2) /= 9) STOP 88
|
||||
end if
|
||||
l = .true.
|
||||
deallocate (a)
|
||||
if (allocated (a)) call abort
|
||||
if (allocated (a)) STOP 89
|
||||
allocate (a)
|
||||
a = 12
|
||||
b = (/ 9, 8, 7, 6, 5, 4 /)
|
||||
c = reshape ((/ 1, 2, 3, 4, 5, 6, 7, 8 /), (/ 4, 2 /))
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 6) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) call abort
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) call abort
|
||||
if (.not.allocated (a)) STOP 90
|
||||
if (.not.allocated (b) .or. size (b) /= 6) STOP 91
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) STOP 92
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 93
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) STOP 94
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) STOP 95
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) STOP 96
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) STOP 97
|
||||
!$omp end parallel sections
|
||||
if (.not.allocated (a)) call abort
|
||||
if (.not.allocated (b) .or. size (b) /= 6) call abort
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) call abort
|
||||
if (.not.allocated (c) .or. size (c) /= 8) call abort
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) call abort
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) call abort
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) call abort
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) call abort
|
||||
if (.not.allocated (a)) STOP 98
|
||||
if (.not.allocated (b) .or. size (b) /= 6) STOP 99
|
||||
if (lbound (b, 1) /= 1 .or. ubound (b, 1) /= 6) STOP 100
|
||||
if (.not.allocated (c) .or. size (c) /= 8) STOP 101
|
||||
if (size (c, 1) /= 4 .or. size (c, 2) /= 2) STOP 102
|
||||
if (lbound (c, 1) /= 1 .or. ubound (c, 1) /= 4) STOP 103
|
||||
if (lbound (c, 2) /= 1 .or. ubound (c, 2) /= 2) STOP 104
|
||||
if (a /= 12 .or. b(2) /= 8 .or. c(1, 2) /= 5) STOP 105
|
||||
end
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
NEIGHBOR = I - 1
|
||||
ENDIF
|
||||
IF (RESULT(I) .NE. I * 2 + NEIGHBOR * 2) THEN
|
||||
CALL ABORT
|
||||
STOP 1
|
||||
ENDIF
|
||||
ENDDO
|
||||
END PROGRAM A18
|
||||
|
|
|
@ -55,6 +55,6 @@
|
|||
RESULT = G(10)
|
||||
PRINT *, RESULT
|
||||
IF (RESULT .NE. 30) THEN
|
||||
CALL ABORT
|
||||
STOP 1
|
||||
ENDIF
|
||||
END PROGRAM A19
|
||||
|
|
|
@ -12,12 +12,12 @@ program associate1
|
|||
!$omp parallel private(v, a) default(none)
|
||||
v = -1
|
||||
a = 2.5
|
||||
if (v /= -1 .or. u /= 15) call abort
|
||||
if (a(2,1) /= 2.5 .or. b /= 3.5) call abort
|
||||
if (v /= -1 .or. u /= 15) STOP 1
|
||||
if (a(2,1) /= 2.5 .or. b /= 3.5) STOP 2
|
||||
associate(u => v, b => a(2, 1))
|
||||
if (u /= -1 .or. b /= 2.5) call abort
|
||||
if (u /= -1 .or. b /= 2.5) STOP 3
|
||||
end associate
|
||||
if (u /= 15 .or. b /= 3.5) call abort
|
||||
if (u /= 15 .or. b /= 3.5) STOP 4
|
||||
!$omp end parallel
|
||||
end associate
|
||||
end program
|
||||
|
|
|
@ -20,12 +20,12 @@ program associate2
|
|||
!$omp parallel private(v, a) default(none)
|
||||
v = -1
|
||||
forall (k = 1:3, l = 1:3) a(k, l)%a(:,:) = 2.5
|
||||
if (v(3) /= -1 .or. u(3) /= 15) call abort
|
||||
if (a(2,1)%a(1,2) /= 2.5 .or. b(1,2) /= 3.5) call abort
|
||||
if (v(3) /= -1 .or. u(3) /= 15) STOP 1
|
||||
if (a(2,1)%a(1,2) /= 2.5 .or. b(1,2) /= 3.5) STOP 2
|
||||
associate(u => v, b => a(2, 1)%a)
|
||||
if (u(3) /= -1 .or. b(1,2) /= 2.5) call abort
|
||||
if (u(3) /= -1 .or. b(1,2) /= 2.5) STOP 3
|
||||
end associate
|
||||
if (u(3) /= 15 .or. b(1,2) /= 3.5) call abort
|
||||
if (u(3) /= 15 .or. b(1,2) /= 3.5) STOP 4
|
||||
!$omp end parallel
|
||||
end associate
|
||||
forall (k = 1:3, l = 1:3) a(k, l)%c(:,:)%i = 7
|
||||
|
@ -35,12 +35,12 @@ program associate2
|
|||
associate(d => a(i, j)%c(2,:)%i)
|
||||
!$omp parallel private(a) default(none)
|
||||
forall (k = 1:3, l = 1:3) a(k, l)%c(:,:)%i = 15
|
||||
if (a(1,2)%c(2,1)%i /= 15 .or. d(1) /= 9) call abort
|
||||
if (a(1,2)%c(2,2)%i /= 15 .or. d(2) /= 7) call abort
|
||||
if (a(1,2)%c(2,1)%i /= 15 .or. d(1) /= 9) STOP 5
|
||||
if (a(1,2)%c(2,2)%i /= 15 .or. d(2) /= 7) STOP 6
|
||||
associate(d => a(2,1)%c(2,:)%i)
|
||||
if (d(1) /= 15 .or. d(2) /= 15) call abort
|
||||
if (d(1) /= 15 .or. d(2) /= 15) STOP 7
|
||||
end associate
|
||||
if (d(1) /= 9 .or. d(2) /= 7) call abort
|
||||
if (d(1) /= 9 .or. d(2) /= 7) STOP 8
|
||||
!$omp end parallel
|
||||
end associate
|
||||
end program
|
||||
|
|
|
@ -16,5 +16,5 @@
|
|||
if (j.eq.1) k = 7
|
||||
end do
|
||||
end associate
|
||||
if (any (v%f(:).ne.21.) .or. i.ne.7) call abort
|
||||
if (any (v%f(:).ne.21.) .or. i.ne.7) STOP 1
|
||||
end
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
!$omp do
|
||||
do i = 0, 999
|
||||
!$omp cancel do
|
||||
if (omp_get_cancellation ()) call abort
|
||||
if (omp_get_cancellation ()) STOP 1
|
||||
enddo
|
||||
!$omp endparallel
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ contains
|
|||
!$omp do
|
||||
do i = 0, 999
|
||||
!$omp cancel do if (x(1))
|
||||
call abort
|
||||
STOP 1
|
||||
end do
|
||||
!$omp do
|
||||
do i = 0, 999
|
||||
|
@ -47,7 +47,7 @@ contains
|
|||
end do
|
||||
!$omp end do
|
||||
!$omp end parallel
|
||||
if (v.ne.3000.or.w.ne.0) call abort
|
||||
if (v.ne.3000.or.w.ne.0) STOP 2
|
||||
!$omp parallel num_threads (32) shared (v, w)
|
||||
! None of these cancel directives should actually cancel anything,
|
||||
! but the compiler shouldn't know that and thus should use cancellable
|
||||
|
@ -56,7 +56,7 @@ contains
|
|||
!$omp do
|
||||
do i = 0, 999
|
||||
!$omp cancel do if (x(1))
|
||||
call abort
|
||||
STOP 3
|
||||
end do
|
||||
!$omp cancel parallel if (omp_get_thread_num ().eq.2.and.x(5))
|
||||
!$omp do
|
||||
|
@ -85,6 +85,6 @@ contains
|
|||
!$omp end do
|
||||
!$omp cancel parallel if (omp_get_thread_num ().eq.5.and.x(5))
|
||||
!$omp end parallel
|
||||
if (v.ne.6000.or.w.ne.0) call abort
|
||||
if (v.ne.6000.or.w.ne.0) STOP 4
|
||||
end subroutine
|
||||
end
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
|
||||
!$omp parallel num_threads(32)
|
||||
!$omp cancel parallel
|
||||
if (omp_get_cancellation ()) call abort
|
||||
if (omp_get_cancellation ()) STOP 1
|
||||
!$omp end parallel
|
||||
end
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
!$omp parallel num_threads(32)
|
||||
!$omp sections
|
||||
!$omp cancel sections
|
||||
call abort
|
||||
STOP 1
|
||||
!$omp section
|
||||
!$omp cancel sections
|
||||
call abort
|
||||
STOP 2
|
||||
!$omp section
|
||||
!$omp cancel sections
|
||||
call abort
|
||||
STOP 3
|
||||
!$omp section
|
||||
!$omp cancel sections
|
||||
call abort
|
||||
STOP 4
|
||||
!$omp end sections
|
||||
!$omp end parallel
|
||||
end if
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
!$omp taskgroup
|
||||
!$omp task
|
||||
!$omp cancel taskgroup
|
||||
call abort
|
||||
STOP 1
|
||||
!$omp endtask
|
||||
!$omp endtaskgroup
|
||||
!$omp endparallel
|
||||
|
|
|
@ -67,6 +67,6 @@ contains
|
|||
l = l .or. f .ne. 'YY' .or. p .ne. 'm3' .or. r .ne. 'M3'
|
||||
end if
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end subroutine test
|
||||
end
|
||||
|
|
|
@ -56,6 +56,6 @@ contains
|
|||
l = l .or. t .ne. '456'
|
||||
end if
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end subroutine test
|
||||
end
|
||||
|
|
|
@ -22,5 +22,5 @@ program collapse1
|
|||
end do
|
||||
end do
|
||||
!$omp end parallel do
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end program collapse1
|
||||
|
|
|
@ -24,7 +24,7 @@ firstdo: do i = 1, 3
|
|||
end do
|
||||
end do firstdo
|
||||
!$omp end parallel do
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end subroutine test1
|
||||
|
||||
subroutine test2
|
||||
|
@ -37,7 +37,7 @@ firstdo: do i = 1, 3
|
|||
enddo
|
||||
enddo dokk
|
||||
115 continue
|
||||
if (any(a(1:3,1:3,1:3).ne.1)) call abort
|
||||
if (any(a(1:3,1:3,1:3).ne.1)) STOP 2
|
||||
|
||||
!$omp do collapse(3)
|
||||
dol: do 120 l=1,3
|
||||
|
@ -47,7 +47,7 @@ firstdo: do i = 1, 3
|
|||
enddo
|
||||
enddo doll
|
||||
120 end do dol
|
||||
if (any(a(1:3,1:3,1:3).ne.2)) call abort
|
||||
if (any(a(1:3,1:3,1:3).ne.2)) STOP 3
|
||||
end subroutine test2
|
||||
|
||||
end program collapse2
|
||||
|
|
|
@ -24,8 +24,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 1
|
||||
if (m.ne.(600+40+18)) STOP 2
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
@ -56,8 +56,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 3
|
||||
if (m.ne.(600+40+18)) STOP 4
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
@ -88,8 +88,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 5
|
||||
if (m.ne.(600+40+18)) STOP 6
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
@ -120,8 +120,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 7
|
||||
if (m.ne.(600+40+18)) STOP 8
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
@ -153,8 +153,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 9
|
||||
if (m.ne.(600+40+18)) STOP 10
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
@ -186,8 +186,8 @@ contains
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) call abort
|
||||
if (m.ne.(600+40+18)) call abort
|
||||
if (i.ne.7.or.j.ne.5.or.k.ne.19) STOP 11
|
||||
if (m.ne.(600+40+18)) STOP 12
|
||||
do i = 1, 7
|
||||
do j = -3, 5
|
||||
do k = 12, 19
|
||||
|
|
|
@ -8,5 +8,5 @@
|
|||
end do
|
||||
end do
|
||||
end do
|
||||
if (i .ne. 18 .or. j .ne. 7 .or. k .ne. 6) call abort
|
||||
if (i .ne. 18 .or. j .ne. 7 .or. k .ne. 6) STOP 1
|
||||
end
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
l = l .or. p .ne. 3
|
||||
!$omp end parallel
|
||||
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
|
||||
l = .false.
|
||||
!$omp parallel num_threads (2) reduction (.or.:l) default (private)
|
||||
|
@ -41,6 +41,6 @@
|
|||
l = l .or. p .ne. 3 * omp_get_thread_num () + 5
|
||||
!$omp end parallel
|
||||
|
||||
if (l) call abort
|
||||
if (l) STOP 2
|
||||
|
||||
end
|
||||
|
|
|
@ -27,5 +27,5 @@
|
|||
l = l .or. (p .ne. d + 1)
|
||||
!$omp end parallel
|
||||
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
l = l .or. (p .ne. (2 + omp_get_thread_num ()))
|
||||
!$omp end parallel
|
||||
|
||||
if (l) call abort
|
||||
if (l) STOP 1
|
||||
|
||||
l = .false.
|
||||
ip = loc (a)
|
||||
|
@ -31,6 +31,6 @@
|
|||
l = l .or. (p .ne. (2 + i))
|
||||
end do
|
||||
|
||||
if (l) call abort
|
||||
if (p .ne. 3) call abort
|
||||
if (l) STOP 2
|
||||
if (p .ne. 3) STOP 3
|
||||
end
|
||||
|
|
|
@ -61,7 +61,7 @@ end module declare_simd_1_mod
|
|||
do i = 1, 128
|
||||
b(i) = bar (a(i), 2 * i, b(i))
|
||||
end do
|
||||
if (any (b.ne.d)) call abort
|
||||
if (any (b.ne.d)) STOP 1
|
||||
!$omp simd
|
||||
do i = 1, 128
|
||||
b(i) = i * 2.0
|
||||
|
@ -71,7 +71,7 @@ end module declare_simd_1_mod
|
|||
b(i) = baz (7.0_8, 2, b(i))
|
||||
end do
|
||||
do i = 1, 128
|
||||
if (b(i).ne.(7.0 + 4.0 * i)) call abort
|
||||
if (b(i).ne.(7.0 + 4.0 * i)) STOP 2
|
||||
end do
|
||||
contains
|
||||
function baz (x, y, z)
|
||||
|
|
|
@ -17,6 +17,6 @@ subroutine bar
|
|||
b(i) = foo (7.0_8, 5 * i, b(i))
|
||||
end do
|
||||
do i = 1, 128
|
||||
if (b(i).ne.(7.0 + 10.0 * i * i)) call abort
|
||||
if (b(i).ne.(7.0 + 10.0 * i * i)) STOP 1
|
||||
end do
|
||||
end subroutine bar
|
||||
|
|
|
@ -14,5 +14,5 @@ subroutine foo
|
|||
!$omp end target
|
||||
|
||||
!$omp target update from(var_x)
|
||||
if (var_x /= 20) call abort
|
||||
if (var_x /= 20) STOP 1
|
||||
end subroutine foo
|
||||
|
|
|
@ -21,7 +21,7 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 1
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
@ -36,7 +36,7 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 2
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
!$omp end single
|
||||
|
@ -52,7 +52,7 @@ contains
|
|||
x = 2
|
||||
!$omp endtask
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 3
|
||||
!$omp endtask
|
||||
!$omp endsingle
|
||||
!$omp endparallel
|
||||
|
@ -67,7 +67,7 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task depend(in: x)
|
||||
if (x.ne.1) call abort
|
||||
if (x.ne.1) STOP 4
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
@ -79,7 +79,7 @@ contains
|
|||
!$omp parallel
|
||||
!$omp single
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x.ne.1) call abort
|
||||
if (x.ne.1) STOP 5
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(out: x)
|
||||
x = 2
|
||||
|
@ -95,7 +95,7 @@ contains
|
|||
x = 1
|
||||
!$omp taskgroup
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x.ne.1) call abort
|
||||
if (x.ne.1) STOP 6
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(out: x)
|
||||
x = 2
|
||||
|
@ -111,7 +111,7 @@ contains
|
|||
x = 1
|
||||
!$omp single
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x.ne.1) call abort
|
||||
if (x.ne.1) STOP 7
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(out: x)
|
||||
x = 2
|
||||
|
@ -132,7 +132,7 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 8
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
end subroutine outdep
|
||||
|
@ -146,13 +146,13 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 9
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 10
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 11
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
@ -167,13 +167,13 @@ contains
|
|||
x = 2;
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 12
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 13
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 14
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
!$omp end single
|
||||
|
@ -189,13 +189,13 @@ contains
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 15
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 16
|
||||
!$omp end task
|
||||
!$omp task shared (x) depend(in: x)
|
||||
if (x.ne.2) call abort
|
||||
if (x.ne.2) STOP 17
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
!$omp single
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: x(:, :))
|
||||
if (y.ne.1) call abort
|
||||
if (y.ne.1) STOP 1
|
||||
!$omp end task
|
||||
!$omp task depend(out: x(:, :))
|
||||
y = 2
|
||||
|
@ -14,7 +14,7 @@
|
|||
!$omp end taskgroup
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: x(4, 7))
|
||||
if (y.ne.2) call abort
|
||||
if (y.ne.2) STOP 2
|
||||
!$omp end task
|
||||
!$omp task depend(out: x(4:4, 7:7))
|
||||
y = 3
|
||||
|
@ -22,7 +22,7 @@
|
|||
!$omp end taskgroup
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: x(4:, 8:))
|
||||
if (y.ne.3) call abort
|
||||
if (y.ne.3) STOP 3
|
||||
!$omp end task
|
||||
!$omp task depend(out: x(4:6, 8:12))
|
||||
y = 4
|
||||
|
@ -30,5 +30,5 @@
|
|||
!$omp end taskgroup
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
if (y.ne.4) call abort
|
||||
if (y.ne.4) STOP 4
|
||||
end
|
||||
|
|
|
@ -13,7 +13,7 @@ contains
|
|||
!$omp single
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: x)
|
||||
if (y.ne.1) call abort
|
||||
if (y.ne.1) STOP 1
|
||||
!$omp end task
|
||||
!$omp task depend(out: x(1:2, 1:3))
|
||||
y = 2
|
||||
|
@ -21,7 +21,7 @@ contains
|
|||
!$omp end taskgroup
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: z)
|
||||
if (y.ne.2) call abort
|
||||
if (y.ne.2) STOP 2
|
||||
!$omp end task
|
||||
!$omp task depend(out: z(-2:3, 2:4))
|
||||
y = 3
|
||||
|
@ -29,7 +29,7 @@ contains
|
|||
!$omp end taskgroup
|
||||
!$omp taskgroup
|
||||
!$omp task depend(in: x)
|
||||
if (y.ne.3) call abort
|
||||
if (y.ne.3) STOP 3
|
||||
!$omp end task
|
||||
!$omp task depend(out: x(1:, 1:))
|
||||
y = 4
|
||||
|
@ -37,6 +37,6 @@ contains
|
|||
!$omp end taskgroup
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
if (y.ne.4) call abort
|
||||
if (y.ne.4) STOP 4
|
||||
end subroutine
|
||||
end
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b)) call abort
|
||||
if (any (a .ne. b)) STOP 1
|
||||
a = -1
|
||||
|
||||
!$omp parallel num_threads (4)
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b)) call abort
|
||||
if (any (a .ne. b)) STOP 2
|
||||
a = -1
|
||||
|
||||
!$omp parallel num_threads (4)
|
||||
|
@ -111,7 +111,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b)) call abort
|
||||
if (any (a .ne. b)) STOP 3
|
||||
a = -1
|
||||
|
||||
!$omp parallel num_threads (4)
|
||||
|
@ -143,7 +143,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b)) call abort
|
||||
if (any (a .ne. b)) STOP 4
|
||||
a = -1
|
||||
|
||||
!$omp parallel num_threads (4)
|
||||
|
@ -175,5 +175,5 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b)) call abort
|
||||
if (any (a .ne. b)) STOP 5
|
||||
end
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b) .or. k) call abort
|
||||
if (any (a .ne. b) .or. k) STOP 1
|
||||
a = -1
|
||||
k = .false.
|
||||
j = 8
|
||||
|
@ -155,7 +155,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b) .or. k) call abort
|
||||
if (any (a .ne. b) .or. k) STOP 2
|
||||
a = -1
|
||||
k = .false.
|
||||
j = 8
|
||||
|
@ -224,7 +224,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b) .or. k) call abort
|
||||
if (any (a .ne. b) .or. k) STOP 3
|
||||
a = -1
|
||||
k = .false.
|
||||
j = 8
|
||||
|
@ -293,7 +293,7 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b) .or. k) call abort
|
||||
if (any (a .ne. b) .or. k) STOP 4
|
||||
a = -1
|
||||
k = .false.
|
||||
j = 8
|
||||
|
@ -362,5 +362,5 @@
|
|||
|
||||
!$omp end parallel
|
||||
|
||||
if (any (a .ne. b) .or. k) call abort
|
||||
if (any (a .ne. b) .or. k) STOP 5
|
||||
end
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
if (i.gt.1) then
|
||||
!$omp atomic read
|
||||
l = a(i - 1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 1
|
||||
end if
|
||||
!$omp atomic write
|
||||
a(i) = 2
|
||||
if (i.lt.N) then
|
||||
!$omp atomic read
|
||||
l = a(i + 1)
|
||||
if (l.eq.3) call abort
|
||||
if (l.eq.3) STOP 2
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -43,19 +43,19 @@
|
|||
if (j.gt.2.and.k.gt.2) then
|
||||
!$omp atomic read
|
||||
l = b(i,j-2,k-1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 3
|
||||
end if
|
||||
!$omp atomic write
|
||||
b(i,j,k) = 2
|
||||
if (i.gt.4.and.j.gt.2.and.k.lt.4) then
|
||||
!$omp atomic read
|
||||
l = b(i-2,j-2, k+1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 4
|
||||
end if
|
||||
if (i.gt.5.and.j.le.N/16-3.and.k.eq.4) then
|
||||
!$omp atomic read
|
||||
l = b( i - 3, j+2, k-2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 5
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -94,19 +94,19 @@
|
|||
if (k.le.5) then
|
||||
!$omp atomic read
|
||||
l = c(i, j, k + 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 6
|
||||
end if
|
||||
!$omp atomic write
|
||||
c(i, j, k) = 2
|
||||
if (i.ge.3.and.j.lt.8.and.k.ge.5) then
|
||||
!$omp atomic read
|
||||
l = c(i - 2, j + 1, k - 4)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 7
|
||||
end if
|
||||
if (i.ge.2.and.j.ge.5.and.k.ge.3) then
|
||||
!$omp atomic read
|
||||
l = c(i - 1, j - 2, k - 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 8
|
||||
end if
|
||||
!$omp ordered depend ( source )
|
||||
!$omp atomic write
|
||||
|
@ -137,13 +137,13 @@
|
|||
do l = 0, d + 1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 9
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.1.or.j.ne.-1.or.k.ne.0) call abort
|
||||
if (i.ne.1.or.j.ne.-1.or.k.ne.0) STOP 10
|
||||
i = 8; j = 9; k = 10
|
||||
!$omp end single
|
||||
!$omp do ordered(4) collapse(2) lastprivate (i, j, k, m)
|
||||
|
@ -153,13 +153,13 @@
|
|||
do m = 0, d-1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i - 2, j + 2, k - 2, m)
|
||||
call abort
|
||||
STOP 11
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.1.or.j.ne.-1.or.k.ne.2.or.m.ne.0) call abort
|
||||
if (i.ne.1.or.j.ne.-1.or.k.ne.2.or.m.ne.0) STOP 12
|
||||
!$omp end single
|
||||
!$omp do collapse(2) ordered(4) lastprivate (i,j,k)
|
||||
do i = 0, d
|
||||
|
@ -168,7 +168,7 @@
|
|||
do l = 0, d + 3
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 13
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
@ -176,7 +176,7 @@
|
|||
!$omp end do nowait
|
||||
!$omp do
|
||||
do i = 1, N
|
||||
if (a(i) .ne. 3) call abort
|
||||
if (a(i) .ne. 3) STOP 14
|
||||
end do
|
||||
!$omp end do nowait
|
||||
!$omp do collapse(2) private(k)
|
||||
|
@ -184,9 +184,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (i.ge.3.and.i.lt.N/16.and.iand(j,1).ne.0.and.k.ge.2) then
|
||||
if (b(i,j,k).ne.3) call abort
|
||||
if (b(i,j,k).ne.3) STOP 15
|
||||
else
|
||||
if (b(i,j,k).ne.0) call abort
|
||||
if (b(i,j,k).ne.0) STOP 16
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
@ -197,9 +197,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (j.ge.3.and.iand(k,1).ne.0) then
|
||||
if (c(i,j,k).ne.3) call abort
|
||||
if (c(i,j,k).ne.3) STOP 17
|
||||
else
|
||||
if (c(i,j,k).ne.0) call abort
|
||||
if (c(i,j,k).ne.0) STOP 18
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
if (i.gt.2) then
|
||||
!$omp atomic read
|
||||
l = a(i - 1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 1
|
||||
end if
|
||||
!$omp atomic write
|
||||
a(i) = 2
|
||||
if (i.lt.N) then
|
||||
!$omp atomic read
|
||||
l = a(i + 1)
|
||||
if (l.eq.3) call abort
|
||||
if (l.eq.3) STOP 2
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -46,19 +46,19 @@
|
|||
if (j.gt.2.and.k.gt.2) then
|
||||
!$omp atomic read
|
||||
l = b(i,j-2,k-1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 3
|
||||
end if
|
||||
!$omp atomic write
|
||||
b(i,j,k) = 2
|
||||
if (i.gt.5.and.j.gt.2.and.k.lt.4) then
|
||||
!$omp atomic read
|
||||
l = b(i-2,j-2, k+1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 4
|
||||
end if
|
||||
if (i.gt.6.and.j.le.N/16-3.and.k.eq.4) then
|
||||
!$omp atomic read
|
||||
l = b( i - 3, j+2, k-2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 5
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -97,19 +97,19 @@
|
|||
if (k.le.5) then
|
||||
!$omp atomic read
|
||||
l = c(i, j, k + 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 6
|
||||
end if
|
||||
!$omp atomic write
|
||||
c(i, j, k) = 2
|
||||
if (i.ge.5.and.j.lt.8.and.k.ge.5) then
|
||||
!$omp atomic read
|
||||
l = c(i - 2, j + 1, k - 4)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 7
|
||||
end if
|
||||
if (i.ge.4.and.j.ge.5.and.k.ge.3) then
|
||||
!$omp atomic read
|
||||
l = c(i - 1, j - 2, k - 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 8
|
||||
end if
|
||||
!$omp ordered depend ( source )
|
||||
!$omp atomic write
|
||||
|
@ -145,19 +145,19 @@
|
|||
if (k.gt.2.and.i.gt.4) then
|
||||
!$omp atomic read
|
||||
l = g(j,k-2,i-1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 9
|
||||
end if
|
||||
!$omp atomic write
|
||||
g(j,k,i) = 2
|
||||
if (j.gt.2.and.k.gt.2.and.i.lt.6) then
|
||||
!$omp atomic read
|
||||
l = g(j-2,k-2, i+1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 10
|
||||
end if
|
||||
if (j.gt.3.and.k.le.N/16-3.and.i.eq.6) then
|
||||
!$omp atomic read
|
||||
l = g( j - 3, k+2, i-2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 11
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -173,13 +173,13 @@
|
|||
do l = 0, d + 1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 12
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.0) call abort
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.0) STOP 13
|
||||
i = 8; j = 9; k = 10
|
||||
!$omp end single
|
||||
!$omp do ordered(4) collapse(2) lastprivate (i, j, k, m)
|
||||
|
@ -189,13 +189,13 @@
|
|||
do m = 0, d-1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i - 2, j + 2, k - 2, m)
|
||||
call abort
|
||||
STOP 14
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.2.or.m.ne.0) call abort
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.2.or.m.ne.0) STOP 15
|
||||
!$omp end single
|
||||
!$omp do collapse(2) ordered(4) lastprivate (i,j,k)
|
||||
do i = 2, f + 2
|
||||
|
@ -204,18 +204,18 @@
|
|||
do l = 0, d + 3
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 16
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp end do nowait
|
||||
!$omp single
|
||||
if (a(1) .ne. 0) call abort
|
||||
if (a(1) .ne. 0) STOP 17
|
||||
!$omp end single nowait
|
||||
!$omp do
|
||||
do i = 2, N
|
||||
if (a(i) .ne. 3) call abort
|
||||
if (a(i) .ne. 3) STOP 18
|
||||
end do
|
||||
!$omp end do nowait
|
||||
!$omp do collapse(2) private(k)
|
||||
|
@ -223,9 +223,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (i.ge.4.and.i.lt.N/16.and.iand(j,1).ne.0.and.k.ge.2) then
|
||||
if (b(i,j,k).ne.3) call abort
|
||||
if (b(i,j,k).ne.3) STOP 19
|
||||
else
|
||||
if (b(i,j,k).ne.0) call abort
|
||||
if (b(i,j,k).ne.0) STOP 20
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
@ -236,9 +236,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (i.ge.3.and.j.ge.3.and.iand(k,1).ne.0) then
|
||||
if (c(i,j,k).ne.3) call abort
|
||||
if (c(i,j,k).ne.3) STOP 21
|
||||
else
|
||||
if (c(i,j,k).ne.0) call abort
|
||||
if (c(i,j,k).ne.0) STOP 22
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
@ -249,9 +249,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 6
|
||||
if (i.lt.N/16.and.iand(j,1).ne.0.and.k.ge.4) then
|
||||
if (g(i,j,k).ne.3) call abort
|
||||
if (g(i,j,k).ne.3) STOP 23
|
||||
else
|
||||
if (g(i,j,k).ne.0) call abort
|
||||
if (g(i,j,k).ne.0) STOP 24
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
|
|
@ -20,14 +20,14 @@
|
|||
if (i.gt.2) then
|
||||
!$omp atomic read
|
||||
l = a(i - 1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 1
|
||||
end if
|
||||
!$omp atomic write
|
||||
a(i) = 2
|
||||
if (i.lt.N) then
|
||||
!$omp atomic read
|
||||
l = a(i + 1)
|
||||
if (l.eq.3) call abort
|
||||
if (l.eq.3) STOP 2
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -46,19 +46,19 @@
|
|||
if (j.gt.2.and.k.gt.2) then
|
||||
!$omp atomic read
|
||||
l = b(i,j-2,k-1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 3
|
||||
end if
|
||||
!$omp atomic write
|
||||
b(i,j,k) = 2
|
||||
if (i.gt.5.and.j.gt.2.and.k.lt.4) then
|
||||
!$omp atomic read
|
||||
l = b(i-2,j-2, k+1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 4
|
||||
end if
|
||||
if (i.gt.6.and.j.le.N/16-3.and.k.eq.4) then
|
||||
!$omp atomic read
|
||||
l = b( i - 3, j+2, k-2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 5
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -97,19 +97,19 @@
|
|||
if (k.le.5) then
|
||||
!$omp atomic read
|
||||
l = c(i, j, k + 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 6
|
||||
end if
|
||||
!$omp atomic write
|
||||
c(i, j, k) = 2
|
||||
if (i.ge.5.and.j.lt.8.and.k.ge.5) then
|
||||
!$omp atomic read
|
||||
l = c(i - 2, j + 1, k - 4)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 7
|
||||
end if
|
||||
if (i.ge.4.and.j.ge.5.and.k.ge.3) then
|
||||
!$omp atomic read
|
||||
l = c(i - 1, j - 2, k - 2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 8
|
||||
end if
|
||||
!$omp ordered depend ( source )
|
||||
!$omp atomic write
|
||||
|
@ -145,19 +145,19 @@
|
|||
if (k.gt.2.and.i.gt.4) then
|
||||
!$omp atomic read
|
||||
l = g(j,k-2,i-1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 9
|
||||
end if
|
||||
!$omp atomic write
|
||||
g(j,k,i) = 2
|
||||
if (j.gt.2.and.k.gt.2.and.i.lt.6) then
|
||||
!$omp atomic read
|
||||
l = g(j-2,k-2, i+1)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 10
|
||||
end if
|
||||
if (j.gt.3.and.k.le.N/16-3.and.i.eq.6) then
|
||||
!$omp atomic read
|
||||
l = g( j - 3, k+2, i-2)
|
||||
if (l.lt.2) call abort
|
||||
if (l.lt.2) STOP 11
|
||||
end if
|
||||
!$omp ordered depend(source)
|
||||
!$omp atomic write
|
||||
|
@ -173,13 +173,13 @@
|
|||
do l = 0, d + 1, 1 + d
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 12
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.0) call abort
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.0) STOP 13
|
||||
i = 8; j = 9; k = 10
|
||||
!$omp end single
|
||||
!$omp do ordered(4) collapse(2) lastprivate (i, j, k, m)
|
||||
|
@ -189,13 +189,13 @@
|
|||
do m = 0, d-1, d+1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i - 2, j + 2, k - 2, m)
|
||||
call abort
|
||||
STOP 14
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp single
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.2.or.m.ne.0) call abort
|
||||
if (i.ne.3.or.j.ne.-1.or.k.ne.2.or.m.ne.0) STOP 15
|
||||
!$omp end single
|
||||
!$omp do collapse(2) ordered(4) lastprivate (i,j,k)
|
||||
do i = 2, f + 2, 1 + f
|
||||
|
@ -204,18 +204,18 @@
|
|||
do l = 0, d + 3, d + 1
|
||||
!$omp ordered depend(source)
|
||||
!$omp ordered depend(sink: i-2,j+2,k-2,l)
|
||||
if (e.eq.0) call abort
|
||||
if (e.eq.0) STOP 16
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
!$omp end do nowait
|
||||
!$omp single
|
||||
if (a(1) .ne. 0) call abort
|
||||
if (a(1) .ne. 0) STOP 17
|
||||
!$omp end single nowait
|
||||
!$omp do
|
||||
do i = 2, N
|
||||
if (a(i) .ne. 3) call abort
|
||||
if (a(i) .ne. 3) STOP 18
|
||||
end do
|
||||
!$omp end do nowait
|
||||
!$omp do collapse(2) private(k)
|
||||
|
@ -223,9 +223,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (i.ge.4.and.i.lt.N/16.and.iand(j,1).ne.0.and.k.ge.2) then
|
||||
if (b(i,j,k).ne.3) call abort
|
||||
if (b(i,j,k).ne.3) STOP 19
|
||||
else
|
||||
if (b(i,j,k).ne.0) call abort
|
||||
if (b(i,j,k).ne.0) STOP 20
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
@ -236,9 +236,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 4
|
||||
if (i.ge.3.and.j.ge.3.and.iand(k,1).ne.0) then
|
||||
if (c(i,j,k).ne.3) call abort
|
||||
if (c(i,j,k).ne.3) STOP 21
|
||||
else
|
||||
if (c(i,j,k).ne.0) call abort
|
||||
if (c(i,j,k).ne.0) STOP 22
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
@ -249,9 +249,9 @@
|
|||
do j = 1, 8
|
||||
do k = 1, 6
|
||||
if (i.lt.N/16.and.iand(j,1).ne.0.and.k.ge.4) then
|
||||
if (g(i,j,k).ne.3) call abort
|
||||
if (g(i,j,k).ne.3) STOP 23
|
||||
else
|
||||
if (g(i,j,k).ne.0) call abort
|
||||
if (g(i,j,k).ne.0) STOP 24
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
|
|
@ -12,6 +12,6 @@ contains
|
|||
p(9) = 777
|
||||
!$omp end target
|
||||
!$omp end target data
|
||||
if (A(3) /= 777 .or. A(9) /= 777) call abort
|
||||
if (A(3) /= 777 .or. A(9) /= 777) STOP 1
|
||||
end subroutine
|
||||
end
|
||||
|
|
|
@ -13,6 +13,6 @@ contains
|
|||
A(9) = 999
|
||||
!$omp end target
|
||||
!$omp end target data
|
||||
if (A(3) /= 777 .or. A(9) /= 999) call abort
|
||||
if (A(3) /= 777 .or. A(9) /= 999) STOP 1
|
||||
end subroutine
|
||||
end
|
||||
|
|
|
@ -27,7 +27,7 @@ subroutine check ()
|
|||
else
|
||||
err = (Y(i) - Z(i)) / Z(i)
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ subroutine check (p, N)
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
@ -30,14 +30,14 @@ subroutine vec_mult (p, N)
|
|||
!$omp target data map(to: v1, v2, N) map(from: p)
|
||||
!$omp task shared(v1, v2, p) depend(out: v1, v2)
|
||||
!$omp target map(to: v1, v2, N)
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 2
|
||||
allocate (v1(N), v2(N))
|
||||
call init (v1, v2, N)
|
||||
!$omp end target
|
||||
!$omp end task
|
||||
!$omp task shared(v1, v2, p) depend(in: v1, v2)
|
||||
!$omp target map(to: v1, v2, N) map(from: p)
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 3
|
||||
!$omp parallel do
|
||||
do i = 1, N
|
||||
p(i) = v1(i) * v2(i)
|
||||
|
|
|
@ -26,6 +26,6 @@ end module
|
|||
|
||||
program e_53_1
|
||||
use e_53_1_mod, only : fib, fib_wrapper
|
||||
if (fib (15) /= fib_wrapper (15)) call abort
|
||||
if (fib (25) /= fib_wrapper (25)) call abort
|
||||
if (fib (15) /= fib_wrapper (15)) STOP 1
|
||||
if (fib (25) /= fib_wrapper (25)) STOP 2
|
||||
end program
|
||||
|
|
|
@ -6,7 +6,7 @@ program e_53_2
|
|||
!$omp target map(from: x)
|
||||
x = fib (25)
|
||||
!$omp end target
|
||||
if (x /= fib (25)) call abort
|
||||
if (x /= fib (25)) STOP 1
|
||||
end program
|
||||
|
||||
integer recursive function fib (n) result (f)
|
||||
|
|
|
@ -21,7 +21,7 @@ subroutine check (p, N)
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ subroutine check (a, b)
|
|||
else
|
||||
err = (a - b) / b
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end subroutine
|
||||
|
||||
program e_53_4
|
||||
|
|
|
@ -68,7 +68,7 @@ subroutine check (a, b)
|
|||
else
|
||||
err = (a - b) / b
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end subroutine
|
||||
|
||||
program e_53_5
|
||||
|
|
|
@ -20,7 +20,7 @@ program e_57_1
|
|||
!$omp end target
|
||||
!$omp end target data
|
||||
|
||||
if (b /= 100 .or. .not. c .or. d) call abort
|
||||
if (b /= 100 .or. .not. c .or. d) STOP 1
|
||||
|
||||
a = a + 200
|
||||
b = 0
|
||||
|
@ -36,7 +36,7 @@ program e_57_1
|
|||
!$omp end target
|
||||
!$omp end target data
|
||||
|
||||
if (b /= 0 .or. c .or. d) call abort
|
||||
if (b /= 0 .or. c .or. d) STOP 2
|
||||
|
||||
a = a + 200
|
||||
b = 0
|
||||
|
@ -52,5 +52,5 @@ program e_57_1
|
|||
!$omp end target
|
||||
!$omp end target data
|
||||
|
||||
if (b /= 100 .or. .not. c .or. d) call abort
|
||||
if (b /= 100 .or. .not. c .or. d) STOP 3
|
||||
end program
|
||||
|
|
|
@ -15,10 +15,10 @@ program e_57_2
|
|||
end do
|
||||
|
||||
do i = 1, num
|
||||
if (offload(i)) call abort
|
||||
if (offload(i)) STOP 1
|
||||
end do
|
||||
|
||||
do i = num+1, N
|
||||
if (.not. offload(i)) call abort
|
||||
if (.not. offload(i)) STOP 2
|
||||
end do
|
||||
end program
|
||||
|
|
|
@ -11,11 +11,11 @@ program e_57_3
|
|||
!$omp target map(from: res)
|
||||
res = omp_is_initial_device ()
|
||||
!$omp end target
|
||||
if (res) call abort
|
||||
if (res) STOP 1
|
||||
|
||||
call omp_set_default_device (omp_get_num_devices ())
|
||||
!$omp target map(from: res)
|
||||
res = omp_is_initial_device ()
|
||||
!$omp end target
|
||||
if (.not. res) call abort
|
||||
if (.not. res) STOP 2
|
||||
end program
|
||||
|
|
|
@ -28,7 +28,7 @@ contains
|
|||
double precision :: diff, a(*), b(*)
|
||||
do i = 1, n
|
||||
diff = a(i) - b(i)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ contains
|
|||
double precision :: diff, a(*), b(*)
|
||||
do i = 1, n
|
||||
diff = a(i) - b(i)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
end module
|
||||
|
|
|
@ -57,6 +57,6 @@ program SIMD3
|
|||
|
||||
diff = sum - sum_ref
|
||||
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
|
||||
end program
|
||||
|
|
|
@ -47,7 +47,7 @@ contains
|
|||
real :: diff, a(*), b(*)
|
||||
do i = 1, n
|
||||
diff = a(i) - b(i)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ contains
|
|||
do j = 1, n
|
||||
do i = 1, n
|
||||
diff = a(i,j) - b(i,j)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end do
|
||||
end subroutine
|
||||
|
|
|
@ -109,14 +109,14 @@ contains
|
|||
real :: diff, a(*), b(*)
|
||||
do i = 1, n
|
||||
diff = a(i) - b(i)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
subroutine checkint (a, b, n)
|
||||
integer :: i, n, a(*), b(*)
|
||||
do i = 1, n
|
||||
if (a(i) .ne. b(i)) call abort
|
||||
if (a(i) .ne. b(i)) STOP 2
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ program fibonacci
|
|||
call fib_ref (a_ref, N)
|
||||
|
||||
do i = 0, N-1
|
||||
if (a(i) .ne. a_ref(i)) call abort ()
|
||||
if (a(i) .ne. a_ref(i)) STOP 1
|
||||
end do
|
||||
|
||||
end program
|
||||
|
|
|
@ -47,6 +47,6 @@ program simd_8f
|
|||
|
||||
diff = pri - 8237.25
|
||||
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
|
||||
end program
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real, pointer, dimension(:) :: p
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
@ -29,7 +29,7 @@ contains
|
|||
real :: p(N), v1(N), v2(N)
|
||||
call init (v1, v2, N)
|
||||
!$omp target if(N > THRESHOLD1) map(to: v1,v2) map(from: p)
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 2
|
||||
!$omp parallel do if(N > THRESHOLD2)
|
||||
do i = 1, N
|
||||
p(i) = v1(i) * v2(i)
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - 2 * (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ contains
|
|||
do k = 1, cols
|
||||
do i = 1, rows
|
||||
diff = P(i,k) - Q(i,k)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end do
|
||||
end subroutine
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - 2 * (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
@ -39,7 +39,7 @@ contains
|
|||
call init (v1, v2, N)
|
||||
!$omp target data if(N > THRESHOLD) map(from: p)
|
||||
!$omp target if(N > THRESHOLD) map(to: v1, v2)
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 2
|
||||
!$omp parallel do
|
||||
do i = 1, N
|
||||
p(i) = v1(i) * v2(i)
|
||||
|
@ -47,7 +47,7 @@ contains
|
|||
!$omp end target
|
||||
call init_again (v1, v2, N)
|
||||
!$omp target if(N > THRESHOLD) map(to: v1, v2)
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 3
|
||||
!$omp parallel do
|
||||
do i = 1, N
|
||||
p(i) = p(i) + v1(i) * v2(i)
|
||||
|
|
|
@ -19,7 +19,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
@ -30,7 +30,7 @@ contains
|
|||
call init (v1, v2, N)
|
||||
!$omp target data if(N > THRESHOLD) map(to: v1, v2) map(from: p)
|
||||
!$omp target
|
||||
if (omp_is_initial_device ()) call abort
|
||||
if (omp_is_initial_device ()) STOP 2
|
||||
!$omp parallel do
|
||||
do i = 1, N
|
||||
p(i) = v1(i) * v2(i)
|
||||
|
|
|
@ -26,7 +26,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - 2 * (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ contains
|
|||
real :: diff, p(N)
|
||||
do i = 1, N
|
||||
diff = p(i) - (i * i + (i + 2.0) * (i - 3.0))
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ program example
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x .ne. 2) call abort ()
|
||||
if (x .ne. 2) STOP 1
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
|
|
@ -6,7 +6,7 @@ program example
|
|||
!$omp parallel
|
||||
!$omp single
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x .ne. 1) call abort ()
|
||||
if (x .ne. 1) STOP 1
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(out: x)
|
||||
x = 2
|
||||
|
|
|
@ -12,7 +12,7 @@ program example
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp taskwait
|
||||
if ((x .ne. 1) .and. (x .ne. 2)) call abort()
|
||||
if ((x .ne. 1) .and. (x .ne. 2)) STOP 1
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
end program
|
||||
|
|
|
@ -9,10 +9,10 @@ program example
|
|||
x = 2
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x .ne. 2) call abort ()
|
||||
if (x .ne. 2) STOP 1
|
||||
!$omp end task
|
||||
!$omp task shared(x) depend(in: x)
|
||||
if (x .ne. 2) call abort ()
|
||||
if (x .ne. 2) STOP 2
|
||||
!$omp end task
|
||||
!$omp end single
|
||||
!$omp end parallel
|
||||
|
|
|
@ -51,7 +51,7 @@ contains
|
|||
do j = 1, N
|
||||
diff = A(i, j) - B(i, j)
|
||||
if (diff > EPS .or. -diff > EPS) then
|
||||
call abort ()
|
||||
STOP 1
|
||||
end if
|
||||
end do
|
||||
end do
|
||||
|
|
|
@ -49,7 +49,7 @@ subroutine check (a, b)
|
|||
else
|
||||
err = (a - b) / b
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end subroutine
|
||||
|
||||
program e_54_1
|
||||
|
|
|
@ -42,7 +42,7 @@ subroutine check (a, b)
|
|||
else
|
||||
err = (a - b) / b
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end subroutine
|
||||
|
||||
program e_54_3
|
||||
|
|
|
@ -44,7 +44,7 @@ subroutine check (a, b)
|
|||
else
|
||||
err = (a - b) / b
|
||||
end if
|
||||
if (err > EPS .or. err < -EPS) call abort
|
||||
if (err > EPS .or. err < -EPS) STOP 1
|
||||
end subroutine
|
||||
|
||||
program e_54_4
|
||||
|
|
|
@ -18,7 +18,7 @@ contains
|
|||
real :: diff
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ contains
|
|||
real :: diff
|
||||
do i = 1, N
|
||||
diff = p(i) - (i + 2.0) * (i - 3.0)
|
||||
if (diff > EPS .or. -diff > EPS) call abort
|
||||
if (diff > EPS .or. -diff > EPS) STOP 1
|
||||
end do
|
||||
end subroutine
|
||||
|
||||
|
|
|
@ -4,15 +4,15 @@ program lastprivate
|
|||
!$omp parallel num_threads (4)
|
||||
call test1
|
||||
!$omp end parallel
|
||||
if (i .ne. 21) call abort
|
||||
if (i .ne. 21) STOP 1
|
||||
!$omp parallel num_threads (4)
|
||||
call test2
|
||||
!$omp end parallel
|
||||
if (i .ne. 64) call abort
|
||||
if (i .ne. 64) STOP 2
|
||||
!$omp parallel num_threads (4)
|
||||
call test3
|
||||
!$omp end parallel
|
||||
if (i .ne. 14) call abort
|
||||
if (i .ne. 14) STOP 3
|
||||
call test4
|
||||
call test5
|
||||
call test6
|
||||
|
@ -53,21 +53,21 @@ contains
|
|||
!$omp parallel do lastprivate (j) num_threads (4) default (none)
|
||||
do j = 1, 20
|
||||
end do
|
||||
if (j .ne. 21) call abort
|
||||
if (j .ne. 21) STOP 4
|
||||
end subroutine test4
|
||||
subroutine test5
|
||||
integer :: j
|
||||
!$omp parallel do lastprivate (j) num_threads (4) default (none)
|
||||
do j = 7, 61, 3
|
||||
end do
|
||||
if (j .ne. 64) call abort
|
||||
if (j .ne. 64) STOP 5
|
||||
end subroutine test5
|
||||
subroutine test6
|
||||
integer :: j
|
||||
!$omp parallel do lastprivate (j) num_threads (4) default (none)
|
||||
do j = -10, 11, ret3 ()
|
||||
end do
|
||||
if (j .ne. 14) call abort
|
||||
if (j .ne. 14) STOP 6
|
||||
end subroutine test6
|
||||
subroutine test7
|
||||
integer :: i
|
||||
|
@ -75,7 +75,7 @@ contains
|
|||
!$omp parallel do lastprivate (i) num_threads (4) default (none)
|
||||
do i = 1, 20
|
||||
end do
|
||||
if (i .ne. 21) call abort
|
||||
if (i .ne. 21) STOP 7
|
||||
end subroutine test7
|
||||
subroutine test8
|
||||
integer :: i
|
||||
|
@ -83,7 +83,7 @@ contains
|
|||
!$omp parallel do lastprivate (i) num_threads (4) default (none)
|
||||
do i = 7, 61, 3
|
||||
end do
|
||||
if (i .ne. 64) call abort
|
||||
if (i .ne. 64) STOP 8
|
||||
end subroutine test8
|
||||
subroutine test9
|
||||
integer :: i
|
||||
|
@ -91,7 +91,7 @@ contains
|
|||
!$omp parallel do lastprivate (i) num_threads (4) default (none)
|
||||
do i = -10, 11, ret3 ()
|
||||
end do
|
||||
if (i .ne. 14) call abort
|
||||
if (i .ne. 14) STOP 9
|
||||
end subroutine test9
|
||||
subroutine test10
|
||||
integer :: i
|
||||
|
@ -101,7 +101,7 @@ contains
|
|||
do i = 1, 20
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 21) call abort
|
||||
if (i .ne. 21) STOP 10
|
||||
end subroutine test10
|
||||
subroutine test11
|
||||
integer :: i
|
||||
|
@ -111,7 +111,7 @@ contains
|
|||
do i = 7, 61, 3
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 64) call abort
|
||||
if (i .ne. 64) STOP 11
|
||||
end subroutine test11
|
||||
subroutine test12
|
||||
integer :: i
|
||||
|
@ -121,6 +121,6 @@ contains
|
|||
do i = -10, 11, ret3 ()
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 14) call abort
|
||||
if (i .ne. 14) STOP 12
|
||||
end subroutine test12
|
||||
end program lastprivate
|
||||
|
|
|
@ -4,15 +4,15 @@ program lastprivate
|
|||
!$omp parallel num_threads (4)
|
||||
call test1
|
||||
!$omp end parallel
|
||||
if (i .ne. 21 .or. k .ne. 20) call abort
|
||||
if (i .ne. 21 .or. k .ne. 20) STOP 1
|
||||
!$omp parallel num_threads (4)
|
||||
call test2
|
||||
!$omp end parallel
|
||||
if (i .ne. 64 .or. k .ne. 61) call abort
|
||||
if (i .ne. 64 .or. k .ne. 61) STOP 2
|
||||
!$omp parallel num_threads (4)
|
||||
call test3
|
||||
!$omp end parallel
|
||||
if (i .ne. 14 .or. k .ne. 11) call abort
|
||||
if (i .ne. 14 .or. k .ne. 11) STOP 3
|
||||
call test4
|
||||
call test5
|
||||
call test6
|
||||
|
@ -57,7 +57,7 @@ contains
|
|||
do j = 1, 20
|
||||
l = j
|
||||
end do
|
||||
if (j .ne. 21 .or. l .ne. 20) call abort
|
||||
if (j .ne. 21 .or. l .ne. 20) STOP 4
|
||||
end subroutine test4
|
||||
subroutine test5
|
||||
integer :: j, l
|
||||
|
@ -66,7 +66,7 @@ contains
|
|||
do j = 7, 61, 3
|
||||
l = j
|
||||
end do
|
||||
if (j .ne. 64 .or. l .ne. 61) call abort
|
||||
if (j .ne. 64 .or. l .ne. 61) STOP 5
|
||||
end subroutine test5
|
||||
subroutine test6
|
||||
integer :: j, l
|
||||
|
@ -74,7 +74,7 @@ contains
|
|||
do j = -10, 11, ret3 ()
|
||||
l = j
|
||||
end do
|
||||
if (j .ne. 14 .or. l .ne. 11) call abort
|
||||
if (j .ne. 14 .or. l .ne. 11) STOP 6
|
||||
end subroutine test6
|
||||
subroutine test7
|
||||
integer :: i, k
|
||||
|
@ -83,7 +83,7 @@ contains
|
|||
do i = 1, 20
|
||||
k = i
|
||||
end do
|
||||
if (i .ne. 21 .or. k .ne. 20) call abort
|
||||
if (i .ne. 21 .or. k .ne. 20) STOP 7
|
||||
end subroutine test7
|
||||
subroutine test8
|
||||
integer :: i, k
|
||||
|
@ -92,7 +92,7 @@ contains
|
|||
do i = 7, 61, 3
|
||||
k = i
|
||||
end do
|
||||
if (i .ne. 64 .or. k .ne. 61) call abort
|
||||
if (i .ne. 64 .or. k .ne. 61) STOP 8
|
||||
end subroutine test8
|
||||
subroutine test9
|
||||
integer :: i, k
|
||||
|
@ -102,7 +102,7 @@ contains
|
|||
do i = -10, 11, ret3 ()
|
||||
k = i
|
||||
end do
|
||||
if (i .ne. 14 .or. k .ne. 11) call abort
|
||||
if (i .ne. 14 .or. k .ne. 11) STOP 9
|
||||
end subroutine test9
|
||||
subroutine test10
|
||||
integer :: i, k
|
||||
|
@ -113,7 +113,7 @@ contains
|
|||
k = i
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 21 .or. k .ne. 20) call abort
|
||||
if (i .ne. 21 .or. k .ne. 20) STOP 10
|
||||
end subroutine test10
|
||||
subroutine test11
|
||||
integer :: i, k
|
||||
|
@ -124,7 +124,7 @@ contains
|
|||
k = i
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 64 .or. k .ne. 61) call abort
|
||||
if (i .ne. 64 .or. k .ne. 61) STOP 11
|
||||
end subroutine test11
|
||||
subroutine test12
|
||||
integer :: i, k
|
||||
|
@ -136,6 +136,6 @@ contains
|
|||
k = i
|
||||
end do
|
||||
!$omp end parallel
|
||||
if (i .ne. 14 .or. k .ne. 11) call abort
|
||||
if (i .ne. 14 .or. k .ne. 11) STOP 12
|
||||
end subroutine test12
|
||||
end program lastprivate
|
||||
|
|
|
@ -11,42 +11,42 @@
|
|||
|
||||
call omp_init_lock (lck)
|
||||
call omp_set_lock (lck)
|
||||
if (omp_test_lock (lck)) call abort
|
||||
if (omp_test_lock (lck)) STOP 1
|
||||
call omp_unset_lock (lck)
|
||||
if (.not. omp_test_lock (lck)) call abort
|
||||
if (omp_test_lock (lck)) call abort
|
||||
if (.not. omp_test_lock (lck)) STOP 2
|
||||
if (omp_test_lock (lck)) STOP 3
|
||||
call omp_unset_lock (lck)
|
||||
call omp_destroy_lock (lck)
|
||||
|
||||
call omp_init_nest_lock (nlck)
|
||||
if (omp_test_nest_lock (nlck) .ne. 1) call abort
|
||||
if (omp_test_nest_lock (nlck) .ne. 1) STOP 4
|
||||
call omp_set_nest_lock (nlck)
|
||||
if (omp_test_nest_lock (nlck) .ne. 3) call abort
|
||||
if (omp_test_nest_lock (nlck) .ne. 3) STOP 5
|
||||
call omp_unset_nest_lock (nlck)
|
||||
call omp_unset_nest_lock (nlck)
|
||||
if (omp_test_nest_lock (nlck) .ne. 2) call abort
|
||||
if (omp_test_nest_lock (nlck) .ne. 2) STOP 6
|
||||
call omp_unset_nest_lock (nlck)
|
||||
call omp_unset_nest_lock (nlck)
|
||||
call omp_destroy_nest_lock (nlck)
|
||||
|
||||
call omp_set_dynamic (.true.)
|
||||
if (.not. omp_get_dynamic ()) call abort
|
||||
if (.not. omp_get_dynamic ()) STOP 7
|
||||
call omp_set_dynamic (.false.)
|
||||
if (omp_get_dynamic ()) call abort
|
||||
if (omp_get_dynamic ()) STOP 8
|
||||
|
||||
call omp_set_nested (.true.)
|
||||
if (.not. omp_get_nested ()) call abort
|
||||
if (.not. omp_get_nested ()) STOP 9
|
||||
call omp_set_nested (.false.)
|
||||
if (omp_get_nested ()) call abort
|
||||
if (omp_get_nested ()) STOP 10
|
||||
|
||||
call omp_set_num_threads (5)
|
||||
if (omp_get_num_threads () .ne. 1) call abort
|
||||
if (omp_get_max_threads () .ne. 5) call abort
|
||||
if (omp_get_thread_num () .ne. 0) call abort
|
||||
if (omp_get_num_threads () .ne. 1) STOP 11
|
||||
if (omp_get_max_threads () .ne. 5) STOP 12
|
||||
if (omp_get_thread_num () .ne. 0) STOP 13
|
||||
call omp_set_num_threads (3)
|
||||
if (omp_get_num_threads () .ne. 1) call abort
|
||||
if (omp_get_max_threads () .ne. 3) call abort
|
||||
if (omp_get_thread_num () .ne. 0) call abort
|
||||
if (omp_get_num_threads () .ne. 1) STOP 14
|
||||
if (omp_get_max_threads () .ne. 3) STOP 15
|
||||
if (omp_get_thread_num () .ne. 0) STOP 16
|
||||
l = .false.
|
||||
!$omp parallel reduction (.or.:l)
|
||||
l = omp_get_num_threads () .ne. 3
|
||||
|
@ -56,22 +56,22 @@
|
|||
l = l .or. (omp_get_thread_num () .ne. 0)
|
||||
!$omp end master
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 17
|
||||
|
||||
if (omp_get_num_procs () .le. 0) call abort
|
||||
if (omp_in_parallel ()) call abort
|
||||
if (omp_get_num_procs () .le. 0) STOP 18
|
||||
if (omp_in_parallel ()) STOP 19
|
||||
!$omp parallel reduction (.or.:l)
|
||||
l = .not. omp_in_parallel ()
|
||||
!$omp end parallel
|
||||
!$omp parallel reduction (.or.:l) if (.true.)
|
||||
l = .not. omp_in_parallel ()
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 20
|
||||
|
||||
e = omp_get_wtime ()
|
||||
if (d .gt. e) call abort
|
||||
if (d .gt. e) STOP 21
|
||||
d = omp_get_wtick ()
|
||||
! Negative precision is definitely wrong,
|
||||
! bigger than 1s clock resolution is also strange
|
||||
if (d .le. 0 .or. d .gt. 1.) call abort
|
||||
if (d .le. 0 .or. d .gt. 1.) STOP 22
|
||||
end
|
||||
|
|
|
@ -11,42 +11,42 @@ C { dg-do run }
|
|||
|
||||
CALL OMP_INIT_LOCK (LCK)
|
||||
CALL OMP_SET_LOCK (LCK)
|
||||
IF (OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (OMP_TEST_LOCK (LCK)) STOP 1
|
||||
CALL OMP_UNSET_LOCK (LCK)
|
||||
IF (.NOT. OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (.NOT. OMP_TEST_LOCK (LCK)) STOP 2
|
||||
IF (OMP_TEST_LOCK (LCK)) STOP 3
|
||||
CALL OMP_UNSET_LOCK (LCK)
|
||||
CALL OMP_DESTROY_LOCK (LCK)
|
||||
|
||||
CALL OMP_INIT_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) STOP 4
|
||||
CALL OMP_SET_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) STOP 5
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) STOP 6
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_DESTROY_NEST_LOCK (NLCK)
|
||||
|
||||
CALL OMP_SET_DYNAMIC (.TRUE.)
|
||||
IF (.NOT. OMP_GET_DYNAMIC ()) CALL ABORT
|
||||
IF (.NOT. OMP_GET_DYNAMIC ()) STOP 7
|
||||
CALL OMP_SET_DYNAMIC (.FALSE.)
|
||||
IF (OMP_GET_DYNAMIC ()) CALL ABORT
|
||||
IF (OMP_GET_DYNAMIC ()) STOP 8
|
||||
|
||||
CALL OMP_SET_NESTED (.TRUE.)
|
||||
IF (.NOT. OMP_GET_NESTED ()) CALL ABORT
|
||||
IF (.NOT. OMP_GET_NESTED ()) STOP 9
|
||||
CALL OMP_SET_NESTED (.FALSE.)
|
||||
IF (OMP_GET_NESTED ()) CALL ABORT
|
||||
IF (OMP_GET_NESTED ()) STOP 10
|
||||
|
||||
CALL OMP_SET_NUM_THREADS (5)
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 5) CALL ABORT
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) STOP 11
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 5) STOP 12
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) STOP 13
|
||||
CALL OMP_SET_NUM_THREADS (3)
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 3) CALL ABORT
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) STOP 14
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 3) STOP 15
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) STOP 16
|
||||
L = .FALSE.
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L)
|
||||
L = OMP_GET_NUM_THREADS () .NE. 3
|
||||
|
@ -56,22 +56,22 @@ C$OMP MASTER
|
|||
L = L .OR. (OMP_GET_THREAD_NUM () .NE. 0)
|
||||
C$OMP END MASTER
|
||||
C$OMP END PARALLEL
|
||||
IF (L) CALL ABORT
|
||||
IF (L) STOP 17
|
||||
|
||||
IF (OMP_GET_NUM_PROCS () .LE. 0) CALL ABORT
|
||||
IF (OMP_IN_PARALLEL ()) CALL ABORT
|
||||
IF (OMP_GET_NUM_PROCS () .LE. 0) STOP 18
|
||||
IF (OMP_IN_PARALLEL ()) STOP 19
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L)
|
||||
L = .NOT. OMP_IN_PARALLEL ()
|
||||
C$OMP END PARALLEL
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L) IF (.TRUE.)
|
||||
L = .NOT. OMP_IN_PARALLEL ()
|
||||
C$OMP END PARALLEL
|
||||
IF (L) CALL ABORT
|
||||
IF (L) STOP 20
|
||||
|
||||
E = OMP_GET_WTIME ()
|
||||
IF (D .GT. E) CALL ABORT
|
||||
IF (D .GT. E) STOP 21
|
||||
D = OMP_GET_WTICK ()
|
||||
C Negative precision is definitely wrong,
|
||||
C bigger than 1s clock resolution is also strange
|
||||
IF (D .LE. 0 .OR. D .GT. 1.) CALL ABORT
|
||||
IF (D .LE. 0 .OR. D .GT. 1.) STOP 22
|
||||
END
|
||||
|
|
|
@ -11,42 +11,42 @@ C { dg-do run }
|
|||
|
||||
CALL OMP_INIT_LOCK (LCK)
|
||||
CALL OMP_SET_LOCK (LCK)
|
||||
IF (OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (OMP_TEST_LOCK (LCK)) STOP 1
|
||||
CALL OMP_UNSET_LOCK (LCK)
|
||||
IF (.NOT. OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (OMP_TEST_LOCK (LCK)) CALL ABORT
|
||||
IF (.NOT. OMP_TEST_LOCK (LCK)) STOP 2
|
||||
IF (OMP_TEST_LOCK (LCK)) STOP 3
|
||||
CALL OMP_UNSET_LOCK (LCK)
|
||||
CALL OMP_DESTROY_LOCK (LCK)
|
||||
|
||||
CALL OMP_INIT_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 1) STOP 4
|
||||
CALL OMP_SET_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 3) STOP 5
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) CALL ABORT
|
||||
IF (OMP_TEST_NEST_LOCK (NLCK) .NE. 2) STOP 6
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_UNSET_NEST_LOCK (NLCK)
|
||||
CALL OMP_DESTROY_NEST_LOCK (NLCK)
|
||||
|
||||
CALL OMP_SET_DYNAMIC (.TRUE.)
|
||||
IF (.NOT. OMP_GET_DYNAMIC ()) CALL ABORT
|
||||
IF (.NOT. OMP_GET_DYNAMIC ()) STOP 7
|
||||
CALL OMP_SET_DYNAMIC (.FALSE.)
|
||||
IF (OMP_GET_DYNAMIC ()) CALL ABORT
|
||||
IF (OMP_GET_DYNAMIC ()) STOP 8
|
||||
|
||||
CALL OMP_SET_NESTED (.TRUE.)
|
||||
IF (.NOT. OMP_GET_NESTED ()) CALL ABORT
|
||||
IF (.NOT. OMP_GET_NESTED ()) STOP 9
|
||||
CALL OMP_SET_NESTED (.FALSE.)
|
||||
IF (OMP_GET_NESTED ()) CALL ABORT
|
||||
IF (OMP_GET_NESTED ()) STOP 10
|
||||
|
||||
CALL OMP_SET_NUM_THREADS (5)
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 5) CALL ABORT
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) STOP 11
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 5) STOP 12
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) STOP 13
|
||||
CALL OMP_SET_NUM_THREADS (3)
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) CALL ABORT
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 3) CALL ABORT
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) CALL ABORT
|
||||
IF (OMP_GET_NUM_THREADS () .NE. 1) STOP 14
|
||||
IF (OMP_GET_MAX_THREADS () .NE. 3) STOP 15
|
||||
IF (OMP_GET_THREAD_NUM () .NE. 0) STOP 16
|
||||
L = .FALSE.
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L)
|
||||
L = OMP_GET_NUM_THREADS () .NE. 3
|
||||
|
@ -56,22 +56,22 @@ C$OMP MASTER
|
|||
L = L .OR. (OMP_GET_THREAD_NUM () .NE. 0)
|
||||
C$OMP END MASTER
|
||||
C$OMP END PARALLEL
|
||||
IF (L) CALL ABORT
|
||||
IF (L) STOP 17
|
||||
|
||||
IF (OMP_GET_NUM_PROCS () .LE. 0) CALL ABORT
|
||||
IF (OMP_IN_PARALLEL ()) CALL ABORT
|
||||
IF (OMP_GET_NUM_PROCS () .LE. 0) STOP 18
|
||||
IF (OMP_IN_PARALLEL ()) STOP 19
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L)
|
||||
L = .NOT. OMP_IN_PARALLEL ()
|
||||
C$OMP END PARALLEL
|
||||
C$OMP PARALLEL REDUCTION (.OR.:L) IF (.TRUE.)
|
||||
L = .NOT. OMP_IN_PARALLEL ()
|
||||
C$OMP END PARALLEL
|
||||
IF (L) CALL ABORT
|
||||
IF (L) STOP 20
|
||||
|
||||
E = OMP_GET_WTIME ()
|
||||
IF (D .GT. E) CALL ABORT
|
||||
IF (D .GT. E) STOP 21
|
||||
D = OMP_GET_WTICK ()
|
||||
C Negative precision is definitely wrong,
|
||||
C bigger than 1s clock resolution is also strange
|
||||
IF (D .LE. 0 .OR. D .GT. 1.) CALL ABORT
|
||||
IF (D .LE. 0 .OR. D .GT. 1.) STOP 22
|
||||
END
|
||||
|
|
|
@ -6,11 +6,11 @@ program lib4
|
|||
integer :: modifier
|
||||
call omp_set_schedule (omp_sched_static, 32)
|
||||
call omp_get_schedule (kind, modifier)
|
||||
if (kind.ne.omp_sched_static.or.modifier.ne.32) call abort
|
||||
if (kind.ne.omp_sched_static.or.modifier.ne.32) STOP 1
|
||||
call omp_set_schedule (omp_sched_dynamic, 4)
|
||||
call omp_get_schedule (kind, modifier)
|
||||
if (kind.ne.omp_sched_dynamic.or.modifier.ne.4) call abort
|
||||
if (omp_get_thread_limit ().lt.0) call abort
|
||||
if (kind.ne.omp_sched_dynamic.or.modifier.ne.4) STOP 2
|
||||
if (omp_get_thread_limit ().lt.0) STOP 3
|
||||
call omp_set_max_active_levels (6)
|
||||
if (omp_get_max_active_levels ().ne.6) call abort
|
||||
if (omp_get_max_active_levels ().ne.6) STOP 4
|
||||
end program lib4
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
l = .false.
|
||||
call omp_init_nest_lock (lock)
|
||||
if (omp_test_nest_lock (lock) .ne. 1) call abort
|
||||
if (omp_test_nest_lock (lock) .ne. 2) call abort
|
||||
if (omp_test_nest_lock (lock) .ne. 1) STOP 1
|
||||
if (omp_test_nest_lock (lock) .ne. 2) STOP 2
|
||||
!$omp parallel if (.false.) reduction (.or.:l)
|
||||
! In OpenMP 2.5 this was supposed to return 3,
|
||||
! but in OpenMP 3.0 the parallel region has a different
|
||||
! task and omp_*_lock_t are owned by tasks, not by threads.
|
||||
if (omp_test_nest_lock (lock) .ne. 0) l = .true.
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (omp_test_nest_lock (lock) .ne. 3) call abort
|
||||
if (l) STOP 3
|
||||
if (omp_test_nest_lock (lock) .ne. 3) STOP 4
|
||||
call omp_unset_nest_lock (lock)
|
||||
call omp_unset_nest_lock (lock)
|
||||
call omp_unset_nest_lock (lock)
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
l = .false.
|
||||
call omp_init_nest_lock (lock)
|
||||
!$omp parallel num_threads (1) reduction (.or.:l)
|
||||
if (omp_test_nest_lock (lock) .ne. 1) call abort
|
||||
if (omp_test_nest_lock (lock) .ne. 2) call abort
|
||||
if (omp_test_nest_lock (lock) .ne. 1) STOP 1
|
||||
if (omp_test_nest_lock (lock) .ne. 2) STOP 2
|
||||
!$omp task if (.false.) shared (lock, l)
|
||||
if (omp_test_nest_lock (lock) .ne. 0) l = .true.
|
||||
!$omp end task
|
||||
|
@ -19,6 +19,6 @@
|
|||
call omp_unset_nest_lock (lock)
|
||||
call omp_unset_nest_lock (lock)
|
||||
!$omp end parallel
|
||||
if (l) call abort
|
||||
if (l) STOP 3
|
||||
call omp_destroy_nest_lock (lock)
|
||||
end
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue