diff --git a/flang/test/Semantics/OpenACC/acc-atomic-validity.f90 b/flang/test/Semantics/OpenACC/acc-atomic-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-atomic-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-atomic-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.12 Atomic diff --git a/flang/test/Semantics/OpenACC/acc-branch.f90 b/flang/test/Semantics/OpenACC/acc-branch.f90 --- a/flang/test/Semantics/OpenACC/acc-branch.f90 +++ b/flang/test/Semantics/OpenACC/acc-branch.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC restruction in branch in and out of some construct ! diff --git a/flang/test/Semantics/OpenACC/acc-cache-validity.f90 b/flang/test/Semantics/OpenACC/acc-cache-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-cache-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-cache-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.10 Cache diff --git a/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90 b/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC canonalization validity for the construct defined below: ! 2.9 Loop diff --git a/flang/test/Semantics/OpenACC/acc-data.f90 b/flang/test/Semantics/OpenACC/acc-data.f90 --- a/flang/test/Semantics/OpenACC/acc-data.f90 +++ b/flang/test/Semantics/OpenACC/acc-data.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.6.5 Data diff --git a/flang/test/Semantics/OpenACC/acc-declare-validity.f90 b/flang/test/Semantics/OpenACC/acc-declare-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-declare-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-declare-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.13 Declare diff --git a/flang/test/Semantics/OpenACC/acc-host-data.f90 b/flang/test/Semantics/OpenACC/acc-host-data.f90 --- a/flang/test/Semantics/OpenACC/acc-host-data.f90 +++ b/flang/test/Semantics/OpenACC/acc-host-data.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.8 host_data diff --git a/flang/test/Semantics/OpenACC/acc-init-validity.f90 b/flang/test/Semantics/OpenACC/acc-init-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-init-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-init-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.14.1 Init diff --git a/flang/test/Semantics/OpenACC/acc-kernels-loop.f90 b/flang/test/Semantics/OpenACC/acc-kernels-loop.f90 --- a/flang/test/Semantics/OpenACC/acc-kernels-loop.f90 +++ b/flang/test/Semantics/OpenACC/acc-kernels-loop.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.11 Kernels Loop diff --git a/flang/test/Semantics/OpenACC/acc-kernels.f90 b/flang/test/Semantics/OpenACC/acc-kernels.f90 --- a/flang/test/Semantics/OpenACC/acc-kernels.f90 +++ b/flang/test/Semantics/OpenACC/acc-kernels.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.5.3 Kernels diff --git a/flang/test/Semantics/OpenACC/acc-loop.f90 b/flang/test/Semantics/OpenACC/acc-loop.f90 --- a/flang/test/Semantics/OpenACC/acc-loop.f90 +++ b/flang/test/Semantics/OpenACC/acc-loop.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.9 Loop diff --git a/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90 b/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.11 Parallel Loop diff --git a/flang/test/Semantics/OpenACC/acc-parallel.f90 b/flang/test/Semantics/OpenACC/acc-parallel.f90 --- a/flang/test/Semantics/OpenACC/acc-parallel.f90 +++ b/flang/test/Semantics/OpenACC/acc-parallel.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.5.1 Parallel diff --git a/flang/test/Semantics/OpenACC/acc-resolve01.f90 b/flang/test/Semantics/OpenACC/acc-resolve01.f90 --- a/flang/test/Semantics/OpenACC/acc-resolve01.f90 +++ b/flang/test/Semantics/OpenACC/acc-resolve01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Data-Mapping Attribute Clauses ! 2.15.14 default Clause diff --git a/flang/test/Semantics/OpenACC/acc-resolve02.f90 b/flang/test/Semantics/OpenACC/acc-resolve02.f90 --- a/flang/test/Semantics/OpenACC/acc-resolve02.f90 +++ b/flang/test/Semantics/OpenACC/acc-resolve02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc subroutine compute() integer :: a(3), c, i diff --git a/flang/test/Semantics/OpenACC/acc-routine-validity.f90 b/flang/test/Semantics/OpenACC/acc-routine-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-routine-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-routine-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.15.1 routine diff --git a/flang/test/Semantics/OpenACC/acc-serial-loop.f90 b/flang/test/Semantics/OpenACC/acc-serial-loop.f90 --- a/flang/test/Semantics/OpenACC/acc-serial-loop.f90 +++ b/flang/test/Semantics/OpenACC/acc-serial-loop.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.11 Serial Loop diff --git a/flang/test/Semantics/OpenACC/acc-serial.f90 b/flang/test/Semantics/OpenACC/acc-serial.f90 --- a/flang/test/Semantics/OpenACC/acc-serial.f90 +++ b/flang/test/Semantics/OpenACC/acc-serial.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.5.2 Serial diff --git a/flang/test/Semantics/OpenACC/acc-set-validity.f90 b/flang/test/Semantics/OpenACC/acc-set-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-set-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-set-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.14.3 Set diff --git a/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90 b/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.14.2 Shutdown diff --git a/flang/test/Semantics/OpenACC/acc-update-validity.f90 b/flang/test/Semantics/OpenACC/acc-update-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-update-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-update-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.14.4 Update diff --git a/flang/test/Semantics/OpenACC/acc-wait-validity.f90 b/flang/test/Semantics/OpenACC/acc-wait-validity.f90 --- a/flang/test/Semantics/OpenACC/acc-wait-validity.f90 +++ b/flang/test/Semantics/OpenACC/acc-wait-validity.f90 @@ -1,5 +1,4 @@ -! RUN: %S/../test_errors.sh %s %t %flang -fopenacc -! REQUIRES: shell +! RUN: %python %S/../test_errors.py %s %flang -fopenacc ! Check OpenACC clause validity for the following construct and directive: ! 2.16.13 Wait diff --git a/flang/test/Semantics/allocate01.f90 b/flang/test/Semantics/allocate01.f90 --- a/flang/test/Semantics/allocate01.f90 +++ b/flang/test/Semantics/allocate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements ! Creating a symbol that allocate should accept diff --git a/flang/test/Semantics/allocate02.f90 b/flang/test/Semantics/allocate02.f90 --- a/flang/test/Semantics/allocate02.f90 +++ b/flang/test/Semantics/allocate02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate03.f90 b/flang/test/Semantics/allocate03.f90 --- a/flang/test/Semantics/allocate03.f90 +++ b/flang/test/Semantics/allocate03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements subroutine C933_a(b1, ca3, ca4, cp3, cp3mold, cp4, cp7, cp8, bsrc) diff --git a/flang/test/Semantics/allocate04.f90 b/flang/test/Semantics/allocate04.f90 --- a/flang/test/Semantics/allocate04.f90 +++ b/flang/test/Semantics/allocate04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate05.f90 b/flang/test/Semantics/allocate05.f90 --- a/flang/test/Semantics/allocate05.f90 +++ b/flang/test/Semantics/allocate05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate06.f90 b/flang/test/Semantics/allocate06.f90 --- a/flang/test/Semantics/allocate06.f90 +++ b/flang/test/Semantics/allocate06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate07.f90 b/flang/test/Semantics/allocate07.f90 --- a/flang/test/Semantics/allocate07.f90 +++ b/flang/test/Semantics/allocate07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements subroutine C936(param_ca_4_assumed, param_ta_4_assumed, param_ca_4_deferred) diff --git a/flang/test/Semantics/allocate08.f90 b/flang/test/Semantics/allocate08.f90 --- a/flang/test/Semantics/allocate08.f90 +++ b/flang/test/Semantics/allocate08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements subroutine C945_a(srca, srcb, srcc, src_complex, src_logical, & diff --git a/flang/test/Semantics/allocate09.f90 b/flang/test/Semantics/allocate09.f90 --- a/flang/test/Semantics/allocate09.f90 +++ b/flang/test/Semantics/allocate09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements subroutine C946(param_ca_4_assumed, param_ta_4_assumed, param_ca_4_deferred) diff --git a/flang/test/Semantics/allocate10.f90 b/flang/test/Semantics/allocate10.f90 --- a/flang/test/Semantics/allocate10.f90 +++ b/flang/test/Semantics/allocate10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements !TODO: mixing expr and source-expr? diff --git a/flang/test/Semantics/allocate11.f90 b/flang/test/Semantics/allocate11.f90 --- a/flang/test/Semantics/allocate11.f90 +++ b/flang/test/Semantics/allocate11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements ! TODO: Function Pointer in allocate and derived types! diff --git a/flang/test/Semantics/allocate12.f90 b/flang/test/Semantics/allocate12.f90 --- a/flang/test/Semantics/allocate12.f90 +++ b/flang/test/Semantics/allocate12.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements subroutine C941_C942b_C950(xsrc, x1, a2, b2, cx1, ca2, cb1, cb2, c1, c2) diff --git a/flang/test/Semantics/allocate13.f90 b/flang/test/Semantics/allocate13.f90 --- a/flang/test/Semantics/allocate13.f90 +++ b/flang/test/Semantics/allocate13.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in ALLOCATE statements module not_iso_fortran_env diff --git a/flang/test/Semantics/altreturn01.f90 b/flang/test/Semantics/altreturn01.f90 --- a/flang/test/Semantics/altreturn01.f90 +++ b/flang/test/Semantics/altreturn01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check calls with alt returns CALL TEST (N, *100, *200 ) diff --git a/flang/test/Semantics/altreturn02.f90 b/flang/test/Semantics/altreturn02.f90 --- a/flang/test/Semantics/altreturn02.f90 +++ b/flang/test/Semantics/altreturn02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check subroutine with alt return SUBROUTINE TEST (N, *, *) diff --git a/flang/test/Semantics/altreturn03.f90 b/flang/test/Semantics/altreturn03.f90 --- a/flang/test/Semantics/altreturn03.f90 +++ b/flang/test/Semantics/altreturn03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for various alt return error conditions SUBROUTINE TEST (N, *, *) diff --git a/flang/test/Semantics/altreturn04.f90 b/flang/test/Semantics/altreturn04.f90 --- a/flang/test/Semantics/altreturn04.f90 +++ b/flang/test/Semantics/altreturn04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Functions cannot use alt return REAL FUNCTION altreturn01(X) diff --git a/flang/test/Semantics/altreturn05.f90 b/flang/test/Semantics/altreturn05.f90 --- a/flang/test/Semantics/altreturn05.f90 +++ b/flang/test/Semantics/altreturn05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test extension: RETURN from main program return !ok diff --git a/flang/test/Semantics/altreturn06.f90 b/flang/test/Semantics/altreturn06.f90 --- a/flang/test/Semantics/altreturn06.f90 +++ b/flang/test/Semantics/altreturn06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test alternat return argument passing for internal and external subprograms ! Both of the following are OK call extSubprogram (*100) diff --git a/flang/test/Semantics/array-constr-big.f90 b/flang/test/Semantics/array-constr-big.f90 --- a/flang/test/Semantics/array-constr-big.f90 +++ b/flang/test/Semantics/array-constr-big.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Ensure that evaluating a very large array constructor does not crash the ! compiler program BigArray diff --git a/flang/test/Semantics/array-constr-values.f90 b/flang/test/Semantics/array-constr-values.f90 --- a/flang/test/Semantics/array-constr-values.f90 +++ b/flang/test/Semantics/array-constr-values.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Confirm enforcement of constraints and restrictions in 7.8 ! C7110, C7111, C7112, C7113, C7114, C7115 diff --git a/flang/test/Semantics/assign01.f90 b/flang/test/Semantics/assign01.f90 --- a/flang/test/Semantics/assign01.f90 +++ b/flang/test/Semantics/assign01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! 10.2.3.1(2) All masks and LHS of assignments in a WHERE must conform subroutine s1 diff --git a/flang/test/Semantics/assign02.f90 b/flang/test/Semantics/assign02.f90 --- a/flang/test/Semantics/assign02.f90 +++ b/flang/test/Semantics/assign02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Pointer assignment constraints 10.2.2.2 module m1 diff --git a/flang/test/Semantics/assign03.f90 b/flang/test/Semantics/assign03.f90 --- a/flang/test/Semantics/assign03.f90 +++ b/flang/test/Semantics/assign03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Pointer assignment constraints 10.2.2.2 (see also assign02.f90) module m diff --git a/flang/test/Semantics/assign04.f90 b/flang/test/Semantics/assign04.f90 --- a/flang/test/Semantics/assign04.f90 +++ b/flang/test/Semantics/assign04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! 9.4.5 subroutine s1 type :: t(k, l) diff --git a/flang/test/Semantics/assign06.f90 b/flang/test/Semantics/assign06.f90 --- a/flang/test/Semantics/assign06.f90 +++ b/flang/test/Semantics/assign06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test ASSIGN statement, assigned GOTO, and assigned format labels ! (see subclause 8.2.4 in Fortran 90 (*not* 2018!) diff --git a/flang/test/Semantics/assign07.f90 b/flang/test/Semantics/assign07.f90 --- a/flang/test/Semantics/assign07.f90 +++ b/flang/test/Semantics/assign07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test ASSIGN statement, assigned GOTO, and assigned format labels ! (see subclause 8.2.4 in Fortran 90 (*not* 2018!) diff --git a/flang/test/Semantics/associated.f90 b/flang/test/Semantics/associated.f90 --- a/flang/test/Semantics/associated.f90 +++ b/flang/test/Semantics/associated.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for the ASSOCIATED() and NULL() intrinsics subroutine assoc() diff --git a/flang/test/Semantics/bad-forward-type.f90 b/flang/test/Semantics/bad-forward-type.f90 --- a/flang/test/Semantics/bad-forward-type.f90 +++ b/flang/test/Semantics/bad-forward-type.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Forward references to derived types (error cases) ! C732 A parent-type-name shall be the name of a previously defined ! extensible type (7.5.7). diff --git a/flang/test/Semantics/bind-c01.f90 b/flang/test/Semantics/bind-c01.f90 --- a/flang/test/Semantics/bind-c01.f90 +++ b/flang/test/Semantics/bind-c01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for multiple symbols being defined with with same BIND(C) name module m1 diff --git a/flang/test/Semantics/bindings01.f90 b/flang/test/Semantics/bindings01.f90 --- a/flang/test/Semantics/bindings01.f90 +++ b/flang/test/Semantics/bindings01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Confirm enforcement of constraints and restrictions in 7.5.7.3 ! and C733, C734 and C779, C780, C782, C783, C784, and C785. diff --git a/flang/test/Semantics/block-data01.f90 b/flang/test/Semantics/block-data01.f90 --- a/flang/test/Semantics/block-data01.f90 +++ b/flang/test/Semantics/block-data01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test BLOCK DATA subprogram (14.3) block data foo !ERROR: IMPORT is not allowed in a BLOCK DATA subprogram diff --git a/flang/test/Semantics/blockconstruct01.f90 b/flang/test/Semantics/blockconstruct01.f90 --- a/flang/test/Semantics/blockconstruct01.f90 +++ b/flang/test/Semantics/blockconstruct01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1107 -- COMMON, EQUIVALENCE, INTENT, NAMELIST, OPTIONAL, VALUE or ! STATEMENT FUNCTIONS not allow in specification part diff --git a/flang/test/Semantics/blockconstruct02.f90 b/flang/test/Semantics/blockconstruct02.f90 --- a/flang/test/Semantics/blockconstruct02.f90 +++ b/flang/test/Semantics/blockconstruct02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1108 -- Save statement in a BLOCK construct shall not conatin a ! saved-entity-list that does not specify a common-block-name diff --git a/flang/test/Semantics/blockconstruct03.f90 b/flang/test/Semantics/blockconstruct03.f90 --- a/flang/test/Semantics/blockconstruct03.f90 +++ b/flang/test/Semantics/blockconstruct03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests implemented for this standard: ! Block Construct ! C1109 diff --git a/flang/test/Semantics/boz-literal-constants.f90 b/flang/test/Semantics/boz-literal-constants.f90 --- a/flang/test/Semantics/boz-literal-constants.f90 +++ b/flang/test/Semantics/boz-literal-constants.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Confirm enforcement of constraints and restrictions in 7.7 ! C7107, C7108, C7109 diff --git a/flang/test/Semantics/c_f_pointer.f90 b/flang/test/Semantics/c_f_pointer.f90 --- a/flang/test/Semantics/c_f_pointer.f90 +++ b/flang/test/Semantics/c_f_pointer.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Enforce 18.2.3.3 program test diff --git a/flang/test/Semantics/call01.f90 b/flang/test/Semantics/call01.f90 --- a/flang/test/Semantics/call01.f90 +++ b/flang/test/Semantics/call01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Confirm enforcement of constraints and restrictions in 15.6.2.1 non_recursive function f01(n) result(res) diff --git a/flang/test/Semantics/call02.f90 b/flang/test/Semantics/call02.f90 --- a/flang/test/Semantics/call02.f90 +++ b/flang/test/Semantics/call02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! 15.5.1 procedure reference constraints and restrictions subroutine s01(elem, subr) diff --git a/flang/test/Semantics/call03.f90 b/flang/test/Semantics/call03.f90 --- a/flang/test/Semantics/call03.f90 +++ b/flang/test/Semantics/call03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.4 constraints and restrictions for non-POINTER non-ALLOCATABLE ! dummy arguments. diff --git a/flang/test/Semantics/call04.f90 b/flang/test/Semantics/call04.f90 --- a/flang/test/Semantics/call04.f90 +++ b/flang/test/Semantics/call04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 8.5.10 & 8.5.18 constraints on dummy argument declarations module m diff --git a/flang/test/Semantics/call05.f90 b/flang/test/Semantics/call05.f90 --- a/flang/test/Semantics/call05.f90 +++ b/flang/test/Semantics/call05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.5 constraints and restrictions for POINTER & ALLOCATABLE ! arguments when both sides of the call have the same attributes. diff --git a/flang/test/Semantics/call06.f90 b/flang/test/Semantics/call06.f90 --- a/flang/test/Semantics/call06.f90 +++ b/flang/test/Semantics/call06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.6 constraints and restrictions for ALLOCATABLE ! dummy arguments. diff --git a/flang/test/Semantics/call07.f90 b/flang/test/Semantics/call07.f90 --- a/flang/test/Semantics/call07.f90 +++ b/flang/test/Semantics/call07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.7 constraints and restrictions for POINTER dummy arguments. module m diff --git a/flang/test/Semantics/call08.f90 b/flang/test/Semantics/call08.f90 --- a/flang/test/Semantics/call08.f90 +++ b/flang/test/Semantics/call08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.8 coarray dummy arguments module m diff --git a/flang/test/Semantics/call09.f90 b/flang/test/Semantics/call09.f90 --- a/flang/test/Semantics/call09.f90 +++ b/flang/test/Semantics/call09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.5.2.9(2,3,5) dummy procedure requirements ! C843 ! An entity with the INTENT attribute shall be a dummy data object or a diff --git a/flang/test/Semantics/call10.f90 b/flang/test/Semantics/call10.f90 --- a/flang/test/Semantics/call10.f90 +++ b/flang/test/Semantics/call10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.7 (C1583-C1590, C1592-C1599) constraints and restrictions ! for pure procedures. ! (C1591 is tested in call11.f90; C1594 in call12.f90.) diff --git a/flang/test/Semantics/call11.f90 b/flang/test/Semantics/call11.f90 --- a/flang/test/Semantics/call11.f90 +++ b/flang/test/Semantics/call11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.7 C1591 & others: contexts requiring pure subprograms module m diff --git a/flang/test/Semantics/call12.f90 b/flang/test/Semantics/call12.f90 --- a/flang/test/Semantics/call12.f90 +++ b/flang/test/Semantics/call12.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.7 C1594 - prohibited assignments in pure subprograms module used diff --git a/flang/test/Semantics/call13.f90 b/flang/test/Semantics/call13.f90 --- a/flang/test/Semantics/call13.f90 +++ b/flang/test/Semantics/call13.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 15.4.2.2 constraints and restrictions for calls to implicit ! interfaces diff --git a/flang/test/Semantics/call14.f90 b/flang/test/Semantics/call14.f90 --- a/flang/test/Semantics/call14.f90 +++ b/flang/test/Semantics/call14.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test 8.5.18 constraints on the VALUE attribute module m diff --git a/flang/test/Semantics/call15.f90 b/flang/test/Semantics/call15.f90 --- a/flang/test/Semantics/call15.f90 +++ b/flang/test/Semantics/call15.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C711 An assumed-type actual argument that corresponds to an assumed-rank ! dummy argument shall be assumed-shape or assumed-rank. subroutine s(arg1, arg2, arg3) diff --git a/flang/test/Semantics/call16.f90 b/flang/test/Semantics/call16.f90 --- a/flang/test/Semantics/call16.f90 +++ b/flang/test/Semantics/call16.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that intrinsic functions used as subroutines and vice versa are caught. diff --git a/flang/test/Semantics/call18.f90 b/flang/test/Semantics/call18.f90 --- a/flang/test/Semantics/call18.f90 +++ b/flang/test/Semantics/call18.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Ensure that references to functions that return pointers can serve as ! "variables" in actual arguments. All of these uses are conforming and ! no errors should be reported. diff --git a/flang/test/Semantics/call19.f90 b/flang/test/Semantics/call19.f90 --- a/flang/test/Semantics/call19.f90 +++ b/flang/test/Semantics/call19.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Ensures that things that aren't procedures aren't allowed to be called. module m integer :: i diff --git a/flang/test/Semantics/call20.f90 b/flang/test/Semantics/call20.f90 --- a/flang/test/Semantics/call20.f90 +++ b/flang/test/Semantics/call20.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that the interface of specific intrinsics passed as dummy arguments ! are correctly validated against actual arguments explicit interface. diff --git a/flang/test/Semantics/case01.f90 b/flang/test/Semantics/case01.f90 --- a/flang/test/Semantics/case01.f90 +++ b/flang/test/Semantics/case01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test SELECT CASE Constraints: C1145, C1146, C1147, C1148, C1149 program selectCaseProg implicit none diff --git a/flang/test/Semantics/coarrays01.f90 b/flang/test/Semantics/coarrays01.f90 --- a/flang/test/Semantics/coarrays01.f90 +++ b/flang/test/Semantics/coarrays01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test selector and team-value in CHANGE TEAM statement ! OK diff --git a/flang/test/Semantics/complex01.f90 b/flang/test/Semantics/complex01.f90 --- a/flang/test/Semantics/complex01.f90 +++ b/flang/test/Semantics/complex01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C718 Each named constant in a complex literal constant shall be of type ! integer or real. subroutine s() diff --git a/flang/test/Semantics/computed-goto01.f90 b/flang/test/Semantics/computed-goto01.f90 --- a/flang/test/Semantics/computed-goto01.f90 +++ b/flang/test/Semantics/computed-goto01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that a basic computed goto compiles INTEGER, DIMENSION (2) :: B diff --git a/flang/test/Semantics/computed-goto02.f90 b/flang/test/Semantics/computed-goto02.f90 --- a/flang/test/Semantics/computed-goto02.f90 +++ b/flang/test/Semantics/computed-goto02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that computed goto express must be a scalar integer expression ! TODO: PGI, for example, accepts a float & converts the value to int. diff --git a/flang/test/Semantics/critical01.f90 b/flang/test/Semantics/critical01.f90 --- a/flang/test/Semantics/critical01.f90 +++ b/flang/test/Semantics/critical01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !C1117 subroutine test1(a, i) diff --git a/flang/test/Semantics/critical02.f90 b/flang/test/Semantics/critical02.f90 --- a/flang/test/Semantics/critical02.f90 +++ b/flang/test/Semantics/critical02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !C1118 subroutine test1 diff --git a/flang/test/Semantics/critical03.f90 b/flang/test/Semantics/critical03.f90 --- a/flang/test/Semantics/critical03.f90 +++ b/flang/test/Semantics/critical03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !C1119 subroutine test1(a, i) diff --git a/flang/test/Semantics/data01.f90 b/flang/test/Semantics/data01.f90 --- a/flang/test/Semantics/data01.f90 +++ b/flang/test/Semantics/data01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Test for checking data constraints, C882-C887 module m1 type person diff --git a/flang/test/Semantics/data02.f90 b/flang/test/Semantics/data02.f90 --- a/flang/test/Semantics/data02.f90 +++ b/flang/test/Semantics/data02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that expressions are analyzed in data statements subroutine s1 diff --git a/flang/test/Semantics/data03.f90 b/flang/test/Semantics/data03.f90 --- a/flang/test/Semantics/data03.f90 +++ b/flang/test/Semantics/data03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Testing data constraints : C874 - C875, C878 - C881 module m integer, target :: modarray(1) diff --git a/flang/test/Semantics/data04.f90 b/flang/test/Semantics/data04.f90 --- a/flang/test/Semantics/data04.f90 +++ b/flang/test/Semantics/data04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Testing data constraints : C876, C877 module m integer :: first diff --git a/flang/test/Semantics/data06.f90 b/flang/test/Semantics/data06.f90 --- a/flang/test/Semantics/data06.f90 +++ b/flang/test/Semantics/data06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! DATA statement errors subroutine s1 type :: t1 diff --git a/flang/test/Semantics/data07.f90 b/flang/test/Semantics/data07.f90 --- a/flang/test/Semantics/data07.f90 +++ b/flang/test/Semantics/data07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m contains subroutine s1 diff --git a/flang/test/Semantics/data10.f90 b/flang/test/Semantics/data10.f90 --- a/flang/test/Semantics/data10.f90 +++ b/flang/test/Semantics/data10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 type :: t integer :: n end type diff --git a/flang/test/Semantics/data12.f90 b/flang/test/Semantics/data12.f90 --- a/flang/test/Semantics/data12.f90 +++ b/flang/test/Semantics/data12.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 type :: t1 sequence integer :: m = 123 diff --git a/flang/test/Semantics/deallocate01.f90 b/flang/test/Semantics/deallocate01.f90 --- a/flang/test/Semantics/deallocate01.f90 +++ b/flang/test/Semantics/deallocate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that DEALLOCATE works INTEGER, PARAMETER :: maxvalue=1024 diff --git a/flang/test/Semantics/deallocate04.f90 b/flang/test/Semantics/deallocate04.f90 --- a/flang/test/Semantics/deallocate04.f90 +++ b/flang/test/Semantics/deallocate04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for type errors in DEALLOCATE statements INTEGER, PARAMETER :: maxvalue=1024 diff --git a/flang/test/Semantics/deallocate05.f90 b/flang/test/Semantics/deallocate05.f90 --- a/flang/test/Semantics/deallocate05.f90 +++ b/flang/test/Semantics/deallocate05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in DEALLOCATE statements Module share diff --git a/flang/test/Semantics/deallocate06.f90 b/flang/test/Semantics/deallocate06.f90 --- a/flang/test/Semantics/deallocate06.f90 +++ b/flang/test/Semantics/deallocate06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test deallocate of use- and host-associated variables module m1 diff --git a/flang/test/Semantics/doconcurrent01.f90 b/flang/test/Semantics/doconcurrent01.f90 --- a/flang/test/Semantics/doconcurrent01.f90 +++ b/flang/test/Semantics/doconcurrent01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1141 ! A reference to the procedure IEEE_SET_HALTING_MODE ! from the intrinsic ! module IEEE_EXCEPTIONS, shall not ! appear within a DO CONCURRENT construct. diff --git a/flang/test/Semantics/doconcurrent05.f90 b/flang/test/Semantics/doconcurrent05.f90 --- a/flang/test/Semantics/doconcurrent05.f90 +++ b/flang/test/Semantics/doconcurrent05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1167 -- An exit-stmt shall not appear within a DO CONCURRENT construct if ! it belongs to that construct or an outer construct. diff --git a/flang/test/Semantics/doconcurrent06.f90 b/flang/test/Semantics/doconcurrent06.f90 --- a/flang/test/Semantics/doconcurrent06.f90 +++ b/flang/test/Semantics/doconcurrent06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1167 -- An exit-stmt shall not appear within a DO CONCURRENT construct if ! it belongs to that construct or an outer construct. diff --git a/flang/test/Semantics/doconcurrent08.f90 b/flang/test/Semantics/doconcurrent08.f90 --- a/flang/test/Semantics/doconcurrent08.f90 +++ b/flang/test/Semantics/doconcurrent08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1140 -- A statement that might result in the deallocation of a polymorphic ! entity shall not appear within a DO CONCURRENT construct. module m1 diff --git a/flang/test/Semantics/dosemantics01.f90 b/flang/test/Semantics/dosemantics01.f90 --- a/flang/test/Semantics/dosemantics01.f90 +++ b/flang/test/Semantics/dosemantics01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1131 -- check valid and invalid DO loop naming PROGRAM C1131 diff --git a/flang/test/Semantics/dosemantics02.f90 b/flang/test/Semantics/dosemantics02.f90 --- a/flang/test/Semantics/dosemantics02.f90 +++ b/flang/test/Semantics/dosemantics02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1121 -- any procedure referenced in a concurrent header must be pure ! Also, check that the step expressions are not zero. This is prohibited by diff --git a/flang/test/Semantics/dosemantics03.f90 b/flang/test/Semantics/dosemantics03.f90 --- a/flang/test/Semantics/dosemantics03.f90 +++ b/flang/test/Semantics/dosemantics03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -pedantic -Werror -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic -Werror ! Issue 458 -- semantic checks for a normal DO loop. The DO variable ! and the initial, final, and step expressions must be INTEGER if the diff --git a/flang/test/Semantics/dosemantics04.f90 b/flang/test/Semantics/dosemantics04.f90 --- a/flang/test/Semantics/dosemantics04.f90 +++ b/flang/test/Semantics/dosemantics04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1123 -- Expressions in DO CONCURRENT header cannot reference variables ! declared in the same header PROGRAM dosemantics04 diff --git a/flang/test/Semantics/dosemantics05.f90 b/flang/test/Semantics/dosemantics05.f90 --- a/flang/test/Semantics/dosemantics05.f90 +++ b/flang/test/Semantics/dosemantics05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test DO loop semantics for constraint C1130 -- ! The constraint states that "If the locality-spec DEFAULT ( NONE ) appears in a ! DO CONCURRENT statement; a variable that is a local or construct entity of a diff --git a/flang/test/Semantics/dosemantics06.f90 b/flang/test/Semantics/dosemantics06.f90 --- a/flang/test/Semantics/dosemantics06.f90 +++ b/flang/test/Semantics/dosemantics06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1131, C1133 -- check valid and invalid DO loop naming ! C1131 (R1119) If the do-stmt of a do-construct specifies a do-construct-name, ! the corresponding end-do shall be an end-do-stmt specifying the same diff --git a/flang/test/Semantics/dosemantics07.f90 b/flang/test/Semantics/dosemantics07.f90 --- a/flang/test/Semantics/dosemantics07.f90 +++ b/flang/test/Semantics/dosemantics07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !C1132 ! If the do-stmt is a nonlabel-do-stmt, the corresponding end-do shall be an ! end-do-stmt. diff --git a/flang/test/Semantics/dosemantics08.f90 b/flang/test/Semantics/dosemantics08.f90 --- a/flang/test/Semantics/dosemantics08.f90 +++ b/flang/test/Semantics/dosemantics08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1138 -- ! A branch (11.2) within a DO CONCURRENT construct shall not have a branch ! target that is outside the construct. diff --git a/flang/test/Semantics/dosemantics09.f90 b/flang/test/Semantics/dosemantics09.f90 --- a/flang/test/Semantics/dosemantics09.f90 +++ b/flang/test/Semantics/dosemantics09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !C1129 !A variable that is referenced by the scalar-mask-expr of a !concurrent-header or by any concurrent-limit or concurrent-step in that diff --git a/flang/test/Semantics/dosemantics10.f90 b/flang/test/Semantics/dosemantics10.f90 --- a/flang/test/Semantics/dosemantics10.f90 +++ b/flang/test/Semantics/dosemantics10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1134 A CYCLE statement must be within a DO construct ! ! C1166 An EXIT statement must be within a DO construct diff --git a/flang/test/Semantics/dosemantics11.f90 b/flang/test/Semantics/dosemantics11.f90 --- a/flang/test/Semantics/dosemantics11.f90 +++ b/flang/test/Semantics/dosemantics11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1135 A cycle-stmt shall not appear within a CHANGE TEAM, CRITICAL, or DO ! CONCURRENT construct if it belongs to an outer construct. ! diff --git a/flang/test/Semantics/dosemantics12.f90 b/flang/test/Semantics/dosemantics12.f90 --- a/flang/test/Semantics/dosemantics12.f90 +++ b/flang/test/Semantics/dosemantics12.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. ! ! Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/flang/test/Semantics/entry01.f90 b/flang/test/Semantics/entry01.f90 --- a/flang/test/Semantics/entry01.f90 +++ b/flang/test/Semantics/entry01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests valid and invalid ENTRY statements module m1 diff --git a/flang/test/Semantics/equivalence01.f90 b/flang/test/Semantics/equivalence01.f90 --- a/flang/test/Semantics/equivalence01.f90 +++ b/flang/test/Semantics/equivalence01.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 integer i, j real r(2) diff --git a/flang/test/Semantics/expr-errors01.f90 b/flang/test/Semantics/expr-errors01.f90 --- a/flang/test/Semantics/expr-errors01.f90 +++ b/flang/test/Semantics/expr-errors01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1003 - can't parenthesize function call returning procedure pointer module m1 type :: dt diff --git a/flang/test/Semantics/expr-errors02.f90 b/flang/test/Semantics/expr-errors02.f90 --- a/flang/test/Semantics/expr-errors02.f90 +++ b/flang/test/Semantics/expr-errors02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test specification expressions module m diff --git a/flang/test/Semantics/expr-errors03.f90 b/flang/test/Semantics/expr-errors03.f90 --- a/flang/test/Semantics/expr-errors03.f90 +++ b/flang/test/Semantics/expr-errors03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Regression test for subscript error recovery module m implicit none diff --git a/flang/test/Semantics/final01.f90 b/flang/test/Semantics/final01.f90 --- a/flang/test/Semantics/final01.f90 +++ b/flang/test/Semantics/final01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test FINAL subroutine constraints C786-C789 module m1 external :: external diff --git a/flang/test/Semantics/forall01.f90 b/flang/test/Semantics/forall01.f90 --- a/flang/test/Semantics/forall01.f90 +++ b/flang/test/Semantics/forall01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine forall1 real :: a(9) !ERROR: 'i' is already declared in this scoping unit diff --git a/flang/test/Semantics/if_arith01.f90 b/flang/test/Semantics/if_arith01.f90 --- a/flang/test/Semantics/if_arith01.f90 +++ b/flang/test/Semantics/if_arith01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that a basic arithmetic if compiles. if ( A ) 100, 200, 300 diff --git a/flang/test/Semantics/if_arith02.f90 b/flang/test/Semantics/if_arith02.f90 --- a/flang/test/Semantics/if_arith02.f90 +++ b/flang/test/Semantics/if_arith02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that only labels are allowed in arithmetic if statements. ! TODO: Revisit error message "expected 'ASSIGN'" etc. ! TODO: Revisit error message "expected one of '0123456789'" diff --git a/flang/test/Semantics/if_arith03.f90 b/flang/test/Semantics/if_arith03.f90 --- a/flang/test/Semantics/if_arith03.f90 +++ b/flang/test/Semantics/if_arith03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !ERROR: Label '600' was not found if ( A ) 100, 200, 600 diff --git a/flang/test/Semantics/if_arith04.f90 b/flang/test/Semantics/if_arith04.f90 --- a/flang/test/Semantics/if_arith04.f90 +++ b/flang/test/Semantics/if_arith04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Make sure arithmetic if expressions are non-complex numeric exprs. INTEGER I diff --git a/flang/test/Semantics/if_construct01.f90 b/flang/test/Semantics/if_construct01.f90 --- a/flang/test/Semantics/if_construct01.f90 +++ b/flang/test/Semantics/if_construct01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Simple check that if constructs are ok. if (a < b) then diff --git a/flang/test/Semantics/if_construct02.f90 b/flang/test/Semantics/if_construct02.f90 --- a/flang/test/Semantics/if_construct02.f90 +++ b/flang/test/Semantics/if_construct02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that if constructs only accept scalar logical expressions. ! TODO: expand the test to check this restriction for more types. diff --git a/flang/test/Semantics/if_stmt01.f90 b/flang/test/Semantics/if_stmt01.f90 --- a/flang/test/Semantics/if_stmt01.f90 +++ b/flang/test/Semantics/if_stmt01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Simple check that if statements are ok. IF (A > 0.0) A = LOG (A) diff --git a/flang/test/Semantics/if_stmt02.f90 b/flang/test/Semantics/if_stmt02.f90 --- a/flang/test/Semantics/if_stmt02.f90 +++ b/flang/test/Semantics/if_stmt02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !ERROR: IF statement is not allowed in IF statement IF (A > 0.0) IF (B < 0.0) A = LOG (A) END diff --git a/flang/test/Semantics/if_stmt03.f90 b/flang/test/Semantics/if_stmt03.f90 --- a/flang/test/Semantics/if_stmt03.f90 +++ b/flang/test/Semantics/if_stmt03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check that non-logical expressions are not allowed. ! Check that non-scalar expressions are not allowed. ! TODO: Insure all non-logicals are prohibited. diff --git a/flang/test/Semantics/implicit01.f90 b/flang/test/Semantics/implicit01.f90 --- a/flang/test/Semantics/implicit01.f90 +++ b/flang/test/Semantics/implicit01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 implicit none !ERROR: More than one IMPLICIT NONE statement diff --git a/flang/test/Semantics/implicit02.f90 b/flang/test/Semantics/implicit02.f90 --- a/flang/test/Semantics/implicit02.f90 +++ b/flang/test/Semantics/implicit02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 implicit none !ERROR: IMPLICIT statement after IMPLICIT NONE or IMPLICIT NONE(TYPE) statement diff --git a/flang/test/Semantics/implicit03.f90 b/flang/test/Semantics/implicit03.f90 --- a/flang/test/Semantics/implicit03.f90 +++ b/flang/test/Semantics/implicit03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 implicit integer(a-z) !ERROR: IMPLICIT NONE statement after IMPLICIT statement diff --git a/flang/test/Semantics/implicit04.f90 b/flang/test/Semantics/implicit04.f90 --- a/flang/test/Semantics/implicit04.f90 +++ b/flang/test/Semantics/implicit04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s parameter(a=1.0) !ERROR: IMPLICIT NONE statement after PARAMETER statement diff --git a/flang/test/Semantics/implicit05.f90 b/flang/test/Semantics/implicit05.f90 --- a/flang/test/Semantics/implicit05.f90 +++ b/flang/test/Semantics/implicit05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s !ERROR: 'a' does not follow 'b' alphabetically implicit integer(b-a) diff --git a/flang/test/Semantics/implicit06.f90 b/flang/test/Semantics/implicit06.f90 --- a/flang/test/Semantics/implicit06.f90 +++ b/flang/test/Semantics/implicit06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 implicit integer(a-c) !ERROR: More than one implicit type specified for 'c' diff --git a/flang/test/Semantics/implicit07.f90 b/flang/test/Semantics/implicit07.f90 --- a/flang/test/Semantics/implicit07.f90 +++ b/flang/test/Semantics/implicit07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 implicit none(external) external x integer :: f, i diff --git a/flang/test/Semantics/implicit08.f90 b/flang/test/Semantics/implicit08.f90 --- a/flang/test/Semantics/implicit08.f90 +++ b/flang/test/Semantics/implicit08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 block !ERROR: IMPLICIT statement is not allowed in a BLOCK construct diff --git a/flang/test/Semantics/implicit09.f90 b/flang/test/Semantics/implicit09.f90 --- a/flang/test/Semantics/implicit09.f90 +++ b/flang/test/Semantics/implicit09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fimplicit-none-type-never -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fimplicit-none-type-never subroutine s1 implicit none i = j + k ! would be error without -fimplicit-none-type-never diff --git a/flang/test/Semantics/implicit10.f90 b/flang/test/Semantics/implicit10.f90 --- a/flang/test/Semantics/implicit10.f90 +++ b/flang/test/Semantics/implicit10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fimplicit-none -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fimplicit-none !ERROR: No explicit type declared for 'f' function f() diff --git a/flang/test/Semantics/implicit11.f90 b/flang/test/Semantics/implicit11.f90 --- a/flang/test/Semantics/implicit11.f90 +++ b/flang/test/Semantics/implicit11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test use of implicitly declared variable in specification expression diff --git a/flang/test/Semantics/init01.f90 b/flang/test/Semantics/init01.f90 --- a/flang/test/Semantics/init01.f90 +++ b/flang/test/Semantics/init01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Initializer error tests subroutine objectpointers(j) diff --git a/flang/test/Semantics/int-literals.f90 b/flang/test/Semantics/int-literals.f90 --- a/flang/test/Semantics/int-literals.f90 +++ b/flang/test/Semantics/int-literals.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Fortran syntax considers signed int literals in complex literals ! to be a distinct production, not an application of unary +/- to ! an unsigned int literal, so they're used here to test overflow diff --git a/flang/test/Semantics/io01.f90 b/flang/test/Semantics/io01.f90 --- a/flang/test/Semantics/io01.f90 +++ b/flang/test/Semantics/io01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 character(len=20) :: access = "direcT" character(len=20) :: access_(2) = (/"direcT", "streaM"/) character(len=20) :: action_(2) = (/"reaD ", "writE"/) diff --git a/flang/test/Semantics/io02.f90 b/flang/test/Semantics/io02.f90 --- a/flang/test/Semantics/io02.f90 +++ b/flang/test/Semantics/io02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 integer :: unit10 = 10 integer :: unit11 = 11 integer, parameter :: const_stat = 6666 diff --git a/flang/test/Semantics/io03.f90 b/flang/test/Semantics/io03.f90 --- a/flang/test/Semantics/io03.f90 +++ b/flang/test/Semantics/io03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 character(kind=1,len=50) internal_file character(kind=2,len=50) internal_file2 character(kind=4,len=50) internal_file4 diff --git a/flang/test/Semantics/io04.f90 b/flang/test/Semantics/io04.f90 --- a/flang/test/Semantics/io04.f90 +++ b/flang/test/Semantics/io04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 character(kind=1,len=50) internal_file character(kind=1,len=100) msg character(20) sign diff --git a/flang/test/Semantics/io05.f90 b/flang/test/Semantics/io05.f90 --- a/flang/test/Semantics/io05.f90 +++ b/flang/test/Semantics/io05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 character*20 c(25), cv character(kind=1,len=59) msg character, parameter :: const_round = "c'est quoi?" diff --git a/flang/test/Semantics/io06.f90 b/flang/test/Semantics/io06.f90 --- a/flang/test/Semantics/io06.f90 +++ b/flang/test/Semantics/io06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 character(kind=1,len=100) msg1 character(kind=2,len=200) msg2 character, parameter :: const_msg = 'doof' diff --git a/flang/test/Semantics/io07.f90 b/flang/test/Semantics/io07.f90 --- a/flang/test/Semantics/io07.f90 +++ b/flang/test/Semantics/io07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 1001 format(A) !ERROR: Format statement must be labeled diff --git a/flang/test/Semantics/io08.f90 b/flang/test/Semantics/io08.f90 --- a/flang/test/Semantics/io08.f90 +++ b/flang/test/Semantics/io08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 write(*,*) write(*,'()') write(*,'(A)') diff --git a/flang/test/Semantics/io09.f90 b/flang/test/Semantics/io09.f90 --- a/flang/test/Semantics/io09.f90 +++ b/flang/test/Semantics/io09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !ERROR: String edit descriptor in READ format expression read(*,'("abc")') diff --git a/flang/test/Semantics/io10.f90 b/flang/test/Semantics/io10.f90 --- a/flang/test/Semantics/io10.f90 +++ b/flang/test/Semantics/io10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -pedantic -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -pedantic write(*, '(B0)') write(*, '(B3)') diff --git a/flang/test/Semantics/io11.f90 b/flang/test/Semantics/io11.f90 --- a/flang/test/Semantics/io11.f90 +++ b/flang/test/Semantics/io11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for defined input/output. See 12.6.4.8 and 15.4.3.2, and C777 module m1 diff --git a/flang/test/Semantics/kinds02.f90 b/flang/test/Semantics/kinds02.f90 --- a/flang/test/Semantics/kinds02.f90 +++ b/flang/test/Semantics/kinds02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C712 The value of scalar-int-constant-expr shall be nonnegative and ! shall specify a representation method that exists on the processor. ! C714 The value of kind-param shall be nonnegative. diff --git a/flang/test/Semantics/kinds04.f90 b/flang/test/Semantics/kinds04.f90 --- a/flang/test/Semantics/kinds04.f90 +++ b/flang/test/Semantics/kinds04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C716 If both kind-param and exponent-letter appear, exponent-letter ! shall be E. ! C717 The value of kind-param shall specify an approximation method that diff --git a/flang/test/Semantics/label11.f90 b/flang/test/Semantics/label11.f90 --- a/flang/test/Semantics/label11.f90 +++ b/flang/test/Semantics/label11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C739 If END TYPE is followed by a type-name, the type-name shall be the ! same as that in the corresponding derived-type-stmt. ! C1401 The program-name shall not be included in the end-program-stmt unless diff --git a/flang/test/Semantics/label16.f90 b/flang/test/Semantics/label16.f90 --- a/flang/test/Semantics/label16.f90 +++ b/flang/test/Semantics/label16.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine x(n) call x1(n) diff --git a/flang/test/Semantics/misc-declarations.f90 b/flang/test/Semantics/misc-declarations.f90 --- a/flang/test/Semantics/misc-declarations.f90 +++ b/flang/test/Semantics/misc-declarations.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Miscellaneous constraint and requirement checking on declarations: ! - 8.5.6.2 & 8.5.6.3 constraints on coarrays ! - 8.5.19 constraints on the VOLATILE attribute diff --git a/flang/test/Semantics/modfile41.f90 b/flang/test/Semantics/modfile41.f90 --- a/flang/test/Semantics/modfile41.f90 +++ b/flang/test/Semantics/modfile41.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test USE statements that use same module multiple times mixed with rename ! clauses and ONLY clauses module m1 diff --git a/flang/test/Semantics/namelist01.f90 b/flang/test/Semantics/namelist01.f90 --- a/flang/test/Semantics/namelist01.f90 +++ b/flang/test/Semantics/namelist01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test for checking namelist constraints, C8103-C8105 module dup diff --git a/flang/test/Semantics/null-init.f90 b/flang/test/Semantics/null-init.f90 --- a/flang/test/Semantics/null-init.f90 +++ b/flang/test/Semantics/null-init.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests valid and invalid NULL initializers module m1 diff --git a/flang/test/Semantics/null01.f90 b/flang/test/Semantics/null01.f90 --- a/flang/test/Semantics/null01.f90 +++ b/flang/test/Semantics/null01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! NULL() intrinsic function error tests subroutine test diff --git a/flang/test/Semantics/nullify01.f90 b/flang/test/Semantics/nullify01.f90 --- a/flang/test/Semantics/nullify01.f90 +++ b/flang/test/Semantics/nullify01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that NULLIFY works Module share diff --git a/flang/test/Semantics/nullify02.f90 b/flang/test/Semantics/nullify02.f90 --- a/flang/test/Semantics/nullify02.f90 +++ b/flang/test/Semantics/nullify02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in NULLIFY statements INTEGER, PARAMETER :: maxvalue=1024 diff --git a/flang/test/Semantics/num_images.f90 b/flang/test/Semantics/num_images.f90 --- a/flang/test/Semantics/num_images.f90 +++ b/flang/test/Semantics/num_images.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check for semantic errors in num_images() function calls subroutine test diff --git a/flang/test/Semantics/omp-allocate-directive.f90 b/flang/test/Semantics/omp-allocate-directive.f90 --- a/flang/test/Semantics/omp-allocate-directive.f90 +++ b/flang/test/Semantics/omp-allocate-directive.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! Check OpenMP Allocate directive use omp_lib diff --git a/flang/test/Semantics/omp-allocate01.f90 b/flang/test/Semantics/omp-allocate01.f90 --- a/flang/test/Semantics/omp-allocate01.f90 +++ b/flang/test/Semantics/omp-allocate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! The allocate directive must appear in the same scope as the declarations of diff --git a/flang/test/Semantics/omp-allocate02.f90 b/flang/test/Semantics/omp-allocate02.f90 --- a/flang/test/Semantics/omp-allocate02.f90 +++ b/flang/test/Semantics/omp-allocate02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! At most one allocator clause can appear on the allocate directive. diff --git a/flang/test/Semantics/omp-allocate03.f90 b/flang/test/Semantics/omp-allocate03.f90 --- a/flang/test/Semantics/omp-allocate03.f90 +++ b/flang/test/Semantics/omp-allocate03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! A variable that is part of another variable (as an array or diff --git a/flang/test/Semantics/omp-allocate04.f90 b/flang/test/Semantics/omp-allocate04.f90 --- a/flang/test/Semantics/omp-allocate04.f90 +++ b/flang/test/Semantics/omp-allocate04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! Only the allocator clause is allowed on the allocate directive diff --git a/flang/test/Semantics/omp-allocate05.f90 b/flang/test/Semantics/omp-allocate05.f90 --- a/flang/test/Semantics/omp-allocate05.f90 +++ b/flang/test/Semantics/omp-allocate05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! allocate directives that appear in a target region must specify an allocator diff --git a/flang/test/Semantics/omp-allocate06.f90 b/flang/test/Semantics/omp-allocate06.f90 --- a/flang/test/Semantics/omp-allocate06.f90 +++ b/flang/test/Semantics/omp-allocate06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! List items specified in the allocate directive must not have the ALLOCATABLE attribute unless the directive is associated with an diff --git a/flang/test/Semantics/omp-allocate07.f90 b/flang/test/Semantics/omp-allocate07.f90 --- a/flang/test/Semantics/omp-allocate07.f90 +++ b/flang/test/Semantics/omp-allocate07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! A type parameter inquiry cannot appear in an allocate directive. diff --git a/flang/test/Semantics/omp-allocate08.f90 b/flang/test/Semantics/omp-allocate08.f90 --- a/flang/test/Semantics/omp-allocate08.f90 +++ b/flang/test/Semantics/omp-allocate08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! 2.11.3 allocate Directive ! If list items within the ALLOCATE directive have the SAVE attribute, are a common block name, or are declared in the scope of a diff --git a/flang/test/Semantics/omp-atomic.f90 b/flang/test/Semantics/omp-atomic.f90 --- a/flang/test/Semantics/omp-atomic.f90 +++ b/flang/test/Semantics/omp-atomic.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp use omp_lib ! Check OpenMP 2.13.6 atomic Construct diff --git a/flang/test/Semantics/omp-atomic01.f90 b/flang/test/Semantics/omp-atomic01.f90 --- a/flang/test/Semantics/omp-atomic01.f90 +++ b/flang/test/Semantics/omp-atomic01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! Semantic checks for OpenMP 5.0 standard 2.17.7 atomic Construct. use omp_lib diff --git a/flang/test/Semantics/omp-clause-validity01.f90 b/flang/test/Semantics/omp-clause-validity01.f90 --- a/flang/test/Semantics/omp-clause-validity01.f90 +++ b/flang/test/Semantics/omp-clause-validity01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp use omp_lib ! Check OpenMP clause validity for the following directives: ! diff --git a/flang/test/Semantics/omp-combined-constructs.f90 b/flang/test/Semantics/omp-combined-constructs.f90 --- a/flang/test/Semantics/omp-combined-constructs.f90 +++ b/flang/test/Semantics/omp-combined-constructs.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp program main implicit none diff --git a/flang/test/Semantics/omp-copyin01.f90 b/flang/test/Semantics/omp-copyin01.f90 --- a/flang/test/Semantics/omp-copyin01.f90 +++ b/flang/test/Semantics/omp-copyin01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.4.1 copyin Clause ! A list item that appears in a copyin clause must be threadprivate diff --git a/flang/test/Semantics/omp-copyin02.f90 b/flang/test/Semantics/omp-copyin02.f90 --- a/flang/test/Semantics/omp-copyin02.f90 +++ b/flang/test/Semantics/omp-copyin02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.4.1 copyin Clause ! A common block name that appears in a copyin clause must be declared to be diff --git a/flang/test/Semantics/omp-copyin03.f90 b/flang/test/Semantics/omp-copyin03.f90 --- a/flang/test/Semantics/omp-copyin03.f90 +++ b/flang/test/Semantics/omp-copyin03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.4.1 copyin Clause ! A list item that appears in a copyin clause must be threadprivate. diff --git a/flang/test/Semantics/omp-copyin04.f90 b/flang/test/Semantics/omp-copyin04.f90 --- a/flang/test/Semantics/omp-copyin04.f90 +++ b/flang/test/Semantics/omp-copyin04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.4.1 copyin Clause ! A list item that appears in a copyin clause must be threadprivate diff --git a/flang/test/Semantics/omp-copyin05.f90 b/flang/test/Semantics/omp-copyin05.f90 --- a/flang/test/Semantics/omp-copyin05.f90 +++ b/flang/test/Semantics/omp-copyin05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.4.1 copyin Clause ! A common block name that appears in a copyin clause must be declared to be diff --git a/flang/test/Semantics/omp-copyprivate01.f90 b/flang/test/Semantics/omp-copyprivate01.f90 --- a/flang/test/Semantics/omp-copyprivate01.f90 +++ b/flang/test/Semantics/omp-copyprivate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.4.2 copyprivate Clause ! A list item that appears in a copyprivate clause may not appear in a diff --git a/flang/test/Semantics/omp-copyprivate02.f90 b/flang/test/Semantics/omp-copyprivate02.f90 --- a/flang/test/Semantics/omp-copyprivate02.f90 +++ b/flang/test/Semantics/omp-copyprivate02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.4.2 copyprivate Clause ! Pointers with the INTENT(IN) attribute may not appear in a copyprivate clause. diff --git a/flang/test/Semantics/omp-copyprivate03.f90 b/flang/test/Semantics/omp-copyprivate03.f90 --- a/flang/test/Semantics/omp-copyprivate03.f90 +++ b/flang/test/Semantics/omp-copyprivate03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.4.2 copyprivate Clause ! All list items that appear in the copyprivate clause must be either diff --git a/flang/test/Semantics/omp-declarative-directive.f90 b/flang/test/Semantics/omp-declarative-directive.f90 --- a/flang/test/Semantics/omp-declarative-directive.f90 +++ b/flang/test/Semantics/omp-declarative-directive.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Check OpenMP declarative directives diff --git a/flang/test/Semantics/omp-default.f90 b/flang/test/Semantics/omp-default.f90 --- a/flang/test/Semantics/omp-default.f90 +++ b/flang/test/Semantics/omp-default.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.1 default Clause program omp_default diff --git a/flang/test/Semantics/omp-default02.f90 b/flang/test/Semantics/omp-default02.f90 --- a/flang/test/Semantics/omp-default02.f90 +++ b/flang/test/Semantics/omp-default02.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.1 default Clause - a positive test case. diff --git a/flang/test/Semantics/omp-depend01.f90 b/flang/test/Semantics/omp-depend01.f90 --- a/flang/test/Semantics/omp-depend01.f90 +++ b/flang/test/Semantics/omp-depend01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.13.9 Depend Clause ! List items used in depend clauses cannot be zero-length array sections. diff --git a/flang/test/Semantics/omp-depend02.f90 b/flang/test/Semantics/omp-depend02.f90 --- a/flang/test/Semantics/omp-depend02.f90 +++ b/flang/test/Semantics/omp-depend02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.13.9 Depend Clause ! A variable that is part of another variable diff --git a/flang/test/Semantics/omp-depend03.f90 b/flang/test/Semantics/omp-depend03.f90 --- a/flang/test/Semantics/omp-depend03.f90 +++ b/flang/test/Semantics/omp-depend03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.13.9 Depend Clause ! Coarrays are not supported in depend clause diff --git a/flang/test/Semantics/omp-device-constructs.f90 b/flang/test/Semantics/omp-device-constructs.f90 --- a/flang/test/Semantics/omp-device-constructs.f90 +++ b/flang/test/Semantics/omp-device-constructs.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Check OpenMP clause validity for the following directives: ! 2.10 Device constructs program main diff --git a/flang/test/Semantics/omp-do-collapse-positivecases.f90 b/flang/test/Semantics/omp-do-collapse-positivecases.f90 --- a/flang/test/Semantics/omp-do-collapse-positivecases.f90 +++ b/flang/test/Semantics/omp-do-collapse-positivecases.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Collapse Clause Positive cases diff --git a/flang/test/Semantics/omp-do-collapse.f90 b/flang/test/Semantics/omp-do-collapse.f90 --- a/flang/test/Semantics/omp-do-collapse.f90 +++ b/flang/test/Semantics/omp-do-collapse.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Collapse Clause program omp_doCollapse diff --git a/flang/test/Semantics/omp-do-cycle.f90 b/flang/test/Semantics/omp-do-cycle.f90 --- a/flang/test/Semantics/omp-do-cycle.f90 +++ b/flang/test/Semantics/omp-do-cycle.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! Check for cycle statements leaving an OpenMP structured block diff --git a/flang/test/Semantics/omp-do-ordered-positivecases.f90 b/flang/test/Semantics/omp-do-ordered-positivecases.f90 --- a/flang/test/Semantics/omp-do-ordered-positivecases.f90 +++ b/flang/test/Semantics/omp-do-ordered-positivecases.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Ordered Clause positive cases. diff --git a/flang/test/Semantics/omp-do-ordered.f90 b/flang/test/Semantics/omp-do-ordered.f90 --- a/flang/test/Semantics/omp-do-ordered.f90 +++ b/flang/test/Semantics/omp-do-ordered.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Ordered Clause diff --git a/flang/test/Semantics/omp-do-schedule01.f90 b/flang/test/Semantics/omp-do-schedule01.f90 --- a/flang/test/Semantics/omp-do-schedule01.f90 +++ b/flang/test/Semantics/omp-do-schedule01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Schedule Clause program omp_doSchedule diff --git a/flang/test/Semantics/omp-do-schedule02.f90 b/flang/test/Semantics/omp-do-schedule02.f90 --- a/flang/test/Semantics/omp-do-schedule02.f90 +++ b/flang/test/Semantics/omp-do-schedule02.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Schedule Clause program omp_doSchedule diff --git a/flang/test/Semantics/omp-do01.f90 b/flang/test/Semantics/omp-do01.f90 --- a/flang/test/Semantics/omp-do01.f90 +++ b/flang/test/Semantics/omp-do01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct ! The loop iteration variable may not appear in a firstprivate directive. diff --git a/flang/test/Semantics/omp-do03.f90 b/flang/test/Semantics/omp-do03.f90 --- a/flang/test/Semantics/omp-do03.f90 +++ b/flang/test/Semantics/omp-do03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct diff --git a/flang/test/Semantics/omp-do04.f90 b/flang/test/Semantics/omp-do04.f90 --- a/flang/test/Semantics/omp-do04.f90 +++ b/flang/test/Semantics/omp-do04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct ! The loop iteration variable may not appear in a threadprivate directive. diff --git a/flang/test/Semantics/omp-do05.f90 b/flang/test/Semantics/omp-do05.f90 --- a/flang/test/Semantics/omp-do05.f90 +++ b/flang/test/Semantics/omp-do05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct restrictions on single directive. diff --git a/flang/test/Semantics/omp-do06.f90 b/flang/test/Semantics/omp-do06.f90 --- a/flang/test/Semantics/omp-do06.f90 +++ b/flang/test/Semantics/omp-do06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct ! The ordered clause must be present on the loop construct if any ordered diff --git a/flang/test/Semantics/omp-do08.f90 b/flang/test/Semantics/omp-do08.f90 --- a/flang/test/Semantics/omp-do08.f90 +++ b/flang/test/Semantics/omp-do08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct diff --git a/flang/test/Semantics/omp-do09.f90 b/flang/test/Semantics/omp-do09.f90 --- a/flang/test/Semantics/omp-do09.f90 +++ b/flang/test/Semantics/omp-do09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct ! The do-loop cannot be a DO WHILE or a DO loop without loop control. diff --git a/flang/test/Semantics/omp-do10.f90 b/flang/test/Semantics/omp-do10.f90 --- a/flang/test/Semantics/omp-do10.f90 +++ b/flang/test/Semantics/omp-do10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct ! The DO loop iteration variable must be of type integer. diff --git a/flang/test/Semantics/omp-do13.f90 b/flang/test/Semantics/omp-do13.f90 --- a/flang/test/Semantics/omp-do13.f90 +++ b/flang/test/Semantics/omp-do13.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct diff --git a/flang/test/Semantics/omp-do15.f90 b/flang/test/Semantics/omp-do15.f90 --- a/flang/test/Semantics/omp-do15.f90 +++ b/flang/test/Semantics/omp-do15.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct diff --git a/flang/test/Semantics/omp-do16.f90 b/flang/test/Semantics/omp-do16.f90 --- a/flang/test/Semantics/omp-do16.f90 +++ b/flang/test/Semantics/omp-do16.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.1 Loop Construct diff --git a/flang/test/Semantics/omp-firstprivate01.f90 b/flang/test/Semantics/omp-firstprivate01.f90 --- a/flang/test/Semantics/omp-firstprivate01.f90 +++ b/flang/test/Semantics/omp-firstprivate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.4 firstprivate Clause ! Variables that appear in a firstprivate clause on a distribute or diff --git a/flang/test/Semantics/omp-flush01.f90 b/flang/test/Semantics/omp-flush01.f90 --- a/flang/test/Semantics/omp-flush01.f90 +++ b/flang/test/Semantics/omp-flush01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! 2.17.8 Flush construct [OpenMP 5.0] ! memory-order-clause -> diff --git a/flang/test/Semantics/omp-flush02.f90 b/flang/test/Semantics/omp-flush02.f90 --- a/flang/test/Semantics/omp-flush02.f90 +++ b/flang/test/Semantics/omp-flush02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! Check OpenMP 5.0 - 2.17.8 flush Construct ! Restriction - diff --git a/flang/test/Semantics/omp-lastprivate01.f90 b/flang/test/Semantics/omp-lastprivate01.f90 --- a/flang/test/Semantics/omp-lastprivate01.f90 +++ b/flang/test/Semantics/omp-lastprivate01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.5 lastprivate Clause ! A variable that appears in a lastprivate clause must be definable. diff --git a/flang/test/Semantics/omp-lastprivate02.f90 b/flang/test/Semantics/omp-lastprivate02.f90 --- a/flang/test/Semantics/omp-lastprivate02.f90 +++ b/flang/test/Semantics/omp-lastprivate02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.5 lastprivate Clause ! A list item that is private within a parallel region, or that appears in diff --git a/flang/test/Semantics/omp-linear-iter.f90 b/flang/test/Semantics/omp-linear-iter.f90 --- a/flang/test/Semantics/omp-linear-iter.f90 +++ b/flang/test/Semantics/omp-linear-iter.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! Various checks with the ordered construct diff --git a/flang/test/Semantics/omp-loop-association.f90 b/flang/test/Semantics/omp-loop-association.f90 --- a/flang/test/Semantics/omp-loop-association.f90 +++ b/flang/test/Semantics/omp-loop-association.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Check the association between OpenMPLoopConstruct and DoConstruct diff --git a/flang/test/Semantics/omp-loop-simd01.f90 b/flang/test/Semantics/omp-loop-simd01.f90 --- a/flang/test/Semantics/omp-loop-simd01.f90 +++ b/flang/test/Semantics/omp-loop-simd01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.8.3 Loop simd Construct diff --git a/flang/test/Semantics/omp-nested-barrier.f90 b/flang/test/Semantics/omp-nested-barrier.f90 --- a/flang/test/Semantics/omp-nested-barrier.f90 +++ b/flang/test/Semantics/omp-nested-barrier.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! Various checks with the nesting of BARRIER construct diff --git a/flang/test/Semantics/omp-nested-cancel.f90 b/flang/test/Semantics/omp-nested-cancel.f90 --- a/flang/test/Semantics/omp-nested-cancel.f90 +++ b/flang/test/Semantics/omp-nested-cancel.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 5.0 ! Check OpenMP construct validity for the following directives: diff --git a/flang/test/Semantics/omp-nested-cancellation-point.f90 b/flang/test/Semantics/omp-nested-cancellation-point.f90 --- a/flang/test/Semantics/omp-nested-cancellation-point.f90 +++ b/flang/test/Semantics/omp-nested-cancellation-point.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 5.0 ! Check OpenMP construct validity for the following directives: diff --git a/flang/test/Semantics/omp-nested-distribute.f90 b/flang/test/Semantics/omp-nested-distribute.f90 --- a/flang/test/Semantics/omp-nested-distribute.f90 +++ b/flang/test/Semantics/omp-nested-distribute.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Check OpenMP clause validity for the following directives: ! 2.10 Device constructs program main diff --git a/flang/test/Semantics/omp-nested-master.f90 b/flang/test/Semantics/omp-nested-master.f90 --- a/flang/test/Semantics/omp-nested-master.f90 +++ b/flang/test/Semantics/omp-nested-master.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! Various checks with the nesting of MASTER construct diff --git a/flang/test/Semantics/omp-nested-simd.f90 b/flang/test/Semantics/omp-nested-simd.f90 --- a/flang/test/Semantics/omp-nested-simd.f90 +++ b/flang/test/Semantics/omp-nested-simd.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! Various checks with the nesting of SIMD construct diff --git a/flang/test/Semantics/omp-nested-target.f90 b/flang/test/Semantics/omp-nested-target.f90 --- a/flang/test/Semantics/omp-nested-target.f90 +++ b/flang/test/Semantics/omp-nested-target.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 5.0 ! Check OpenMP construct validity for the following directives: diff --git a/flang/test/Semantics/omp-nested-teams.f90 b/flang/test/Semantics/omp-nested-teams.f90 --- a/flang/test/Semantics/omp-nested-teams.f90 +++ b/flang/test/Semantics/omp-nested-teams.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 5.0 ! Check OpenMP construct validity for the following directives: diff --git a/flang/test/Semantics/omp-nested01.f90 b/flang/test/Semantics/omp-nested01.f90 --- a/flang/test/Semantics/omp-nested01.f90 +++ b/flang/test/Semantics/omp-nested01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Check OpenMP 2.17 Nesting of Regions diff --git a/flang/test/Semantics/omp-no-dowhile-in-parallel.f90 b/flang/test/Semantics/omp-no-dowhile-in-parallel.f90 --- a/flang/test/Semantics/omp-no-dowhile-in-parallel.f90 +++ b/flang/test/Semantics/omp-no-dowhile-in-parallel.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp subroutine bug48308(x,i) real :: x(:) diff --git a/flang/test/Semantics/omp-ordered-simd.f90 b/flang/test/Semantics/omp-ordered-simd.f90 --- a/flang/test/Semantics/omp-ordered-simd.f90 +++ b/flang/test/Semantics/omp-ordered-simd.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! Various checks with the ordered construct diff --git a/flang/test/Semantics/omp-parallel-private01.f90 b/flang/test/Semantics/omp-parallel-private01.f90 --- a/flang/test/Semantics/omp-parallel-private01.f90 +++ b/flang/test/Semantics/omp-parallel-private01.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 parallel private Clause program omp_parallel_private diff --git a/flang/test/Semantics/omp-parallel-private02.f90 b/flang/test/Semantics/omp-parallel-private02.f90 --- a/flang/test/Semantics/omp-parallel-private02.f90 +++ b/flang/test/Semantics/omp-parallel-private02.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 parallel private Clause program omp_parallel_private diff --git a/flang/test/Semantics/omp-parallel-private03.f90 b/flang/test/Semantics/omp-parallel-private03.f90 --- a/flang/test/Semantics/omp-parallel-private03.f90 +++ b/flang/test/Semantics/omp-parallel-private03.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 parallel private Clause program omp_parallel_private diff --git a/flang/test/Semantics/omp-parallel-private04.f90 b/flang/test/Semantics/omp-parallel-private04.f90 --- a/flang/test/Semantics/omp-parallel-private04.f90 +++ b/flang/test/Semantics/omp-parallel-private04.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 parallel private Clause program omp_parallel_private diff --git a/flang/test/Semantics/omp-parallel-shared01.f90 b/flang/test/Semantics/omp-parallel-shared01.f90 --- a/flang/test/Semantics/omp-parallel-shared01.f90 +++ b/flang/test/Semantics/omp-parallel-shared01.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.2 parallel shared Clause program omp_parallel_shared diff --git a/flang/test/Semantics/omp-parallel-shared02.f90 b/flang/test/Semantics/omp-parallel-shared02.f90 --- a/flang/test/Semantics/omp-parallel-shared02.f90 +++ b/flang/test/Semantics/omp-parallel-shared02.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.2 parallel shared Clause program omp_parallel_shared diff --git a/flang/test/Semantics/omp-parallel-shared03.f90 b/flang/test/Semantics/omp-parallel-shared03.f90 --- a/flang/test/Semantics/omp-parallel-shared03.f90 +++ b/flang/test/Semantics/omp-parallel-shared03.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.2 parallel shared Clause program omp_parallel_shared diff --git a/flang/test/Semantics/omp-parallel-shared04.f90 b/flang/test/Semantics/omp-parallel-shared04.f90 --- a/flang/test/Semantics/omp-parallel-shared04.f90 +++ b/flang/test/Semantics/omp-parallel-shared04.f90 @@ -1,5 +1,4 @@ -!RUN: %S/test_errors.sh %s %t %flang -fopenmp -!REQUIRES: shell +!RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.2 parallel shared Clause program omp_parallel_shared diff --git a/flang/test/Semantics/omp-private01.f90 b/flang/test/Semantics/omp-private01.f90 --- a/flang/test/Semantics/omp-private01.f90 +++ b/flang/test/Semantics/omp-private01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 private Clause ! Pointers with the INTENT(IN) attribute may not appear in a private clause. diff --git a/flang/test/Semantics/omp-private02.f90 b/flang/test/Semantics/omp-private02.f90 --- a/flang/test/Semantics/omp-private02.f90 +++ b/flang/test/Semantics/omp-private02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.15.3.3 private Clause ! Variables that appear in namelist statements may not appear in a private clause. diff --git a/flang/test/Semantics/omp-private03.f90 b/flang/test/Semantics/omp-private03.f90 --- a/flang/test/Semantics/omp-private03.f90 +++ b/flang/test/Semantics/omp-private03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! Variables that appear in expressions for statement function definitions ! may not appear in private, firstprivate or lastprivate clauses. diff --git a/flang/test/Semantics/omp-reduction01.f90 b/flang/test/Semantics/omp-reduction01.f90 --- a/flang/test/Semantics/omp-reduction01.f90 +++ b/flang/test/Semantics/omp-reduction01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause program omp_reduction diff --git a/flang/test/Semantics/omp-reduction02.f90 b/flang/test/Semantics/omp-reduction02.f90 --- a/flang/test/Semantics/omp-reduction02.f90 +++ b/flang/test/Semantics/omp-reduction02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause program omp_reduction diff --git a/flang/test/Semantics/omp-reduction03.f90 b/flang/test/Semantics/omp-reduction03.f90 --- a/flang/test/Semantics/omp-reduction03.f90 +++ b/flang/test/Semantics/omp-reduction03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause diff --git a/flang/test/Semantics/omp-reduction04.f90 b/flang/test/Semantics/omp-reduction04.f90 --- a/flang/test/Semantics/omp-reduction04.f90 +++ b/flang/test/Semantics/omp-reduction04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause program omp_Reduction diff --git a/flang/test/Semantics/omp-reduction05.f90 b/flang/test/Semantics/omp-reduction05.f90 --- a/flang/test/Semantics/omp-reduction05.f90 +++ b/flang/test/Semantics/omp-reduction05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause diff --git a/flang/test/Semantics/omp-reduction06.f90 b/flang/test/Semantics/omp-reduction06.f90 --- a/flang/test/Semantics/omp-reduction06.f90 +++ b/flang/test/Semantics/omp-reduction06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause diff --git a/flang/test/Semantics/omp-reduction07.f90 b/flang/test/Semantics/omp-reduction07.f90 --- a/flang/test/Semantics/omp-reduction07.f90 +++ b/flang/test/Semantics/omp-reduction07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause program omp_reduction diff --git a/flang/test/Semantics/omp-reduction10.f90 b/flang/test/Semantics/omp-reduction10.f90 --- a/flang/test/Semantics/omp-reduction10.f90 +++ b/flang/test/Semantics/omp-reduction10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.15.3.6 Reduction Clause program omp_reduction diff --git a/flang/test/Semantics/omp-resolve01.f90 b/flang/test/Semantics/omp-resolve01.f90 --- a/flang/test/Semantics/omp-resolve01.f90 +++ b/flang/test/Semantics/omp-resolve01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! 2.4 An array section designates a subset of the elements in an array. Although ! Substring shares similar syntax but cannot be treated as valid array section. diff --git a/flang/test/Semantics/omp-resolve02.f90 b/flang/test/Semantics/omp-resolve02.f90 --- a/flang/test/Semantics/omp-resolve02.f90 +++ b/flang/test/Semantics/omp-resolve02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! Test the effect to name resolution from illegal clause diff --git a/flang/test/Semantics/omp-resolve03.f90 b/flang/test/Semantics/omp-resolve03.f90 --- a/flang/test/Semantics/omp-resolve03.f90 +++ b/flang/test/Semantics/omp-resolve03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! 2.15.3 Although variables in common blocks can be accessed by use association ! or host association, common block names cannot. As a result, a common block diff --git a/flang/test/Semantics/omp-resolve04.f90 b/flang/test/Semantics/omp-resolve04.f90 --- a/flang/test/Semantics/omp-resolve04.f90 +++ b/flang/test/Semantics/omp-resolve04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses ! A list item that specifies a given variable may not appear in more than diff --git a/flang/test/Semantics/omp-resolve05.f90 b/flang/test/Semantics/omp-resolve05.f90 --- a/flang/test/Semantics/omp-resolve05.f90 +++ b/flang/test/Semantics/omp-resolve05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses ! 2.15.3.1 default Clause diff --git a/flang/test/Semantics/omp-resolve06.f90 b/flang/test/Semantics/omp-resolve06.f90 --- a/flang/test/Semantics/omp-resolve06.f90 +++ b/flang/test/Semantics/omp-resolve06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp use omp_lib !2.11.4 Allocate Clause !For any list item that is specified in the allocate diff --git a/flang/test/Semantics/omp-sections01.f90 b/flang/test/Semantics/omp-sections01.f90 --- a/flang/test/Semantics/omp-sections01.f90 +++ b/flang/test/Semantics/omp-sections01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.2 sections Construct diff --git a/flang/test/Semantics/omp-simd-aligned.f90 b/flang/test/Semantics/omp-simd-aligned.f90 --- a/flang/test/Semantics/omp-simd-aligned.f90 +++ b/flang/test/Semantics/omp-simd-aligned.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.8.1 simd Construct diff --git a/flang/test/Semantics/omp-simd02.f90 b/flang/test/Semantics/omp-simd02.f90 --- a/flang/test/Semantics/omp-simd02.f90 +++ b/flang/test/Semantics/omp-simd02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.8.1 simd Construct diff --git a/flang/test/Semantics/omp-single01.f90 b/flang/test/Semantics/omp-single01.f90 --- a/flang/test/Semantics/omp-single01.f90 +++ b/flang/test/Semantics/omp-single01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.3 single Construct ! Symbol present on multiple clauses diff --git a/flang/test/Semantics/omp-single02.f90 b/flang/test/Semantics/omp-single02.f90 --- a/flang/test/Semantics/omp-single02.f90 +++ b/flang/test/Semantics/omp-single02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenmp ! OpenMP Version 4.5 ! 2.7.3 single Construct ! Copyprivate variable is not thread private or private in outer context diff --git a/flang/test/Semantics/omp-taskgroup01.f90 b/flang/test/Semantics/omp-taskgroup01.f90 --- a/flang/test/Semantics/omp-taskgroup01.f90 +++ b/flang/test/Semantics/omp-taskgroup01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp use omp_lib implicit none diff --git a/flang/test/Semantics/omp-taskloop-simd01.f90 b/flang/test/Semantics/omp-taskloop-simd01.f90 --- a/flang/test/Semantics/omp-taskloop-simd01.f90 +++ b/flang/test/Semantics/omp-taskloop-simd01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 5.0 ! 2.10.3 taskloop simd Construct diff --git a/flang/test/Semantics/omp-taskloop01.f90 b/flang/test/Semantics/omp-taskloop01.f90 --- a/flang/test/Semantics/omp-taskloop01.f90 +++ b/flang/test/Semantics/omp-taskloop01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.9.2 taskloop Construct diff --git a/flang/test/Semantics/omp-workshare01.f90 b/flang/test/Semantics/omp-workshare01.f90 --- a/flang/test/Semantics/omp-workshare01.f90 +++ b/flang/test/Semantics/omp-workshare01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.4 workshare Construct ! Invalid do construct inside !$omp workshare diff --git a/flang/test/Semantics/omp-workshare02.f90 b/flang/test/Semantics/omp-workshare02.f90 --- a/flang/test/Semantics/omp-workshare02.f90 +++ b/flang/test/Semantics/omp-workshare02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.4 workshare Construct ! The !omp workshare construct must not contain any user defined diff --git a/flang/test/Semantics/omp-workshare03.f90 b/flang/test/Semantics/omp-workshare03.f90 --- a/flang/test/Semantics/omp-workshare03.f90 +++ b/flang/test/Semantics/omp-workshare03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.4 workshare Construct ! All array assignments, scalar assignments, and masked array assignments diff --git a/flang/test/Semantics/omp-workshare04.f90 b/flang/test/Semantics/omp-workshare04.f90 --- a/flang/test/Semantics/omp-workshare04.f90 +++ b/flang/test/Semantics/omp-workshare04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.4 workshare Construct ! Checks for OpenMP Workshare construct diff --git a/flang/test/Semantics/omp-workshare05.f90 b/flang/test/Semantics/omp-workshare05.f90 --- a/flang/test/Semantics/omp-workshare05.f90 +++ b/flang/test/Semantics/omp-workshare05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -fopenmp -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -fopenmp ! OpenMP Version 4.5 ! 2.7.4 workshare Construct ! Checks for OpenMP Parallel constructs enclosed in Workshare constructs diff --git a/flang/test/Semantics/random-seed.f90 b/flang/test/Semantics/random-seed.f90 --- a/flang/test/Semantics/random-seed.f90 +++ b/flang/test/Semantics/random-seed.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! NULL() intrinsic function error tests program test_random_seed integer :: size_arg diff --git a/flang/test/Semantics/reshape.f90 b/flang/test/Semantics/reshape.f90 --- a/flang/test/Semantics/reshape.f90 +++ b/flang/test/Semantics/reshape.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Tests for RESHAPE program reshaper diff --git a/flang/test/Semantics/resolve01.f90 b/flang/test/Semantics/resolve01.f90 --- a/flang/test/Semantics/resolve01.f90 +++ b/flang/test/Semantics/resolve01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 integer :: x !ERROR: The type of 'x' has already been declared real :: x diff --git a/flang/test/Semantics/resolve02.f90 b/flang/test/Semantics/resolve02.f90 --- a/flang/test/Semantics/resolve02.f90 +++ b/flang/test/Semantics/resolve02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s !ERROR: Declaration of 'x' conflicts with its use as internal procedure real :: x diff --git a/flang/test/Semantics/resolve03.f90 b/flang/test/Semantics/resolve03.f90 --- a/flang/test/Semantics/resolve03.f90 +++ b/flang/test/Semantics/resolve03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 implicit none integer :: x !ERROR: No explicit type declared for 'y' diff --git a/flang/test/Semantics/resolve04.f90 b/flang/test/Semantics/resolve04.f90 --- a/flang/test/Semantics/resolve04.f90 +++ b/flang/test/Semantics/resolve04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !ERROR: No explicit type declared for 'f' function f() implicit none diff --git a/flang/test/Semantics/resolve05.f90 b/flang/test/Semantics/resolve05.f90 --- a/flang/test/Semantics/resolve05.f90 +++ b/flang/test/Semantics/resolve05.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 program p integer :: p ! this is ok end diff --git a/flang/test/Semantics/resolve06.f90 b/flang/test/Semantics/resolve06.f90 --- a/flang/test/Semantics/resolve06.f90 +++ b/flang/test/Semantics/resolve06.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 implicit none allocatable :: x integer :: x diff --git a/flang/test/Semantics/resolve07.f90 b/flang/test/Semantics/resolve07.f90 --- a/flang/test/Semantics/resolve07.f90 +++ b/flang/test/Semantics/resolve07.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 integer :: x(2) !ERROR: The dimensions of 'x' have already been declared diff --git a/flang/test/Semantics/resolve08.f90 b/flang/test/Semantics/resolve08.f90 --- a/flang/test/Semantics/resolve08.f90 +++ b/flang/test/Semantics/resolve08.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 integer :: g(10) f(i) = i + 1 ! statement function g(i) = i + 2 ! mis-parsed array assignment diff --git a/flang/test/Semantics/resolve09.f90 b/flang/test/Semantics/resolve09.f90 --- a/flang/test/Semantics/resolve09.f90 +++ b/flang/test/Semantics/resolve09.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 integer :: y procedure() :: a procedure(real) :: b diff --git a/flang/test/Semantics/resolve10.f90 b/flang/test/Semantics/resolve10.f90 --- a/flang/test/Semantics/resolve10.f90 +++ b/flang/test/Semantics/resolve10.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m public type t diff --git a/flang/test/Semantics/resolve101.f90 b/flang/test/Semantics/resolve101.f90 --- a/flang/test/Semantics/resolve101.f90 +++ b/flang/test/Semantics/resolve101.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Ensure that spurious errors do not arise from FinishSpecificationPart ! checking on a nested specification part. diff --git a/flang/test/Semantics/resolve102.f90 b/flang/test/Semantics/resolve102.f90 --- a/flang/test/Semantics/resolve102.f90 +++ b/flang/test/Semantics/resolve102.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for circularly defined procedures !ERROR: Procedure 'sub' is recursively defined. Procedures in the cycle: 'sub', 'p2' diff --git a/flang/test/Semantics/resolve104.f90 b/flang/test/Semantics/resolve104.f90 --- a/flang/test/Semantics/resolve104.f90 +++ b/flang/test/Semantics/resolve104.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test constant folding of type parameter values both a base value and a ! parameter name are supplied. ! diff --git a/flang/test/Semantics/resolve105.f90 b/flang/test/Semantics/resolve105.f90 --- a/flang/test/Semantics/resolve105.f90 +++ b/flang/test/Semantics/resolve105.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test instantiation of components that are procedure pointers. ! program test diff --git a/flang/test/Semantics/resolve11.f90 b/flang/test/Semantics/resolve11.f90 --- a/flang/test/Semantics/resolve11.f90 +++ b/flang/test/Semantics/resolve11.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m public i integer, private :: j diff --git a/flang/test/Semantics/resolve12.f90 b/flang/test/Semantics/resolve12.f90 --- a/flang/test/Semantics/resolve12.f90 +++ b/flang/test/Semantics/resolve12.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 end diff --git a/flang/test/Semantics/resolve13.f90 b/flang/test/Semantics/resolve13.f90 --- a/flang/test/Semantics/resolve13.f90 +++ b/flang/test/Semantics/resolve13.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 integer :: x integer, private :: y diff --git a/flang/test/Semantics/resolve14.f90 b/flang/test/Semantics/resolve14.f90 --- a/flang/test/Semantics/resolve14.f90 +++ b/flang/test/Semantics/resolve14.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 integer :: x integer :: y diff --git a/flang/test/Semantics/resolve15.f90 b/flang/test/Semantics/resolve15.f90 --- a/flang/test/Semantics/resolve15.f90 +++ b/flang/test/Semantics/resolve15.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m real :: var interface i diff --git a/flang/test/Semantics/resolve16.f90 b/flang/test/Semantics/resolve16.f90 --- a/flang/test/Semantics/resolve16.f90 +++ b/flang/test/Semantics/resolve16.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m interface subroutine sub0 diff --git a/flang/test/Semantics/resolve17.f90 b/flang/test/Semantics/resolve17.f90 --- a/flang/test/Semantics/resolve17.f90 +++ b/flang/test/Semantics/resolve17.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m integer :: foo !Note: PGI, Intel, and GNU allow this; NAG and Sun do not diff --git a/flang/test/Semantics/resolve18.f90 b/flang/test/Semantics/resolve18.f90 --- a/flang/test/Semantics/resolve18.f90 +++ b/flang/test/Semantics/resolve18.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 implicit none contains diff --git a/flang/test/Semantics/resolve19.f90 b/flang/test/Semantics/resolve19.f90 --- a/flang/test/Semantics/resolve19.f90 +++ b/flang/test/Semantics/resolve19.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m interface a subroutine s(x) diff --git a/flang/test/Semantics/resolve20.f90 b/flang/test/Semantics/resolve20.f90 --- a/flang/test/Semantics/resolve20.f90 +++ b/flang/test/Semantics/resolve20.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m abstract interface subroutine foo diff --git a/flang/test/Semantics/resolve21.f90 b/flang/test/Semantics/resolve21.f90 --- a/flang/test/Semantics/resolve21.f90 +++ b/flang/test/Semantics/resolve21.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 type :: t integer :: i diff --git a/flang/test/Semantics/resolve22.f90 b/flang/test/Semantics/resolve22.f90 --- a/flang/test/Semantics/resolve22.f90 +++ b/flang/test/Semantics/resolve22.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 !OK: interface followed by type with same name interface t diff --git a/flang/test/Semantics/resolve23.f90 b/flang/test/Semantics/resolve23.f90 --- a/flang/test/Semantics/resolve23.f90 +++ b/flang/test/Semantics/resolve23.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m type :: t real :: y diff --git a/flang/test/Semantics/resolve24.f90 b/flang/test/Semantics/resolve24.f90 --- a/flang/test/Semantics/resolve24.f90 +++ b/flang/test/Semantics/resolve24.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine test1 !ERROR: Generic interface 'foo' has both a function and a subroutine interface foo diff --git a/flang/test/Semantics/resolve25.f90 b/flang/test/Semantics/resolve25.f90 --- a/flang/test/Semantics/resolve25.f90 +++ b/flang/test/Semantics/resolve25.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m interface foo real function s1(x) diff --git a/flang/test/Semantics/resolve26.f90 b/flang/test/Semantics/resolve26.f90 --- a/flang/test/Semantics/resolve26.f90 +++ b/flang/test/Semantics/resolve26.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 interface module subroutine s() diff --git a/flang/test/Semantics/resolve27.f90 b/flang/test/Semantics/resolve27.f90 --- a/flang/test/Semantics/resolve27.f90 +++ b/flang/test/Semantics/resolve27.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m interface module subroutine s() diff --git a/flang/test/Semantics/resolve28.f90 b/flang/test/Semantics/resolve28.f90 --- a/flang/test/Semantics/resolve28.f90 +++ b/flang/test/Semantics/resolve28.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s type t end type diff --git a/flang/test/Semantics/resolve29.f90 b/flang/test/Semantics/resolve29.f90 --- a/flang/test/Semantics/resolve29.f90 +++ b/flang/test/Semantics/resolve29.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m type t1 end type diff --git a/flang/test/Semantics/resolve30.f90 b/flang/test/Semantics/resolve30.f90 --- a/flang/test/Semantics/resolve30.f90 +++ b/flang/test/Semantics/resolve30.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 integer x block diff --git a/flang/test/Semantics/resolve31.f90 b/flang/test/Semantics/resolve31.f90 --- a/flang/test/Semantics/resolve31.f90 +++ b/flang/test/Semantics/resolve31.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C735 If EXTENDS appears, SEQUENCE shall not appear. ! C738 The same private-or-sequence shall not appear more than once in a ! given derived-type-def . diff --git a/flang/test/Semantics/resolve32.f90 b/flang/test/Semantics/resolve32.f90 --- a/flang/test/Semantics/resolve32.f90 +++ b/flang/test/Semantics/resolve32.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m2 public s2, s4 private s3 diff --git a/flang/test/Semantics/resolve33.f90 b/flang/test/Semantics/resolve33.f90 --- a/flang/test/Semantics/resolve33.f90 +++ b/flang/test/Semantics/resolve33.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Derived type parameters ! C731 The same type-param-name shall not appear more than once in a given ! derived-type-stmt. diff --git a/flang/test/Semantics/resolve34.f90 b/flang/test/Semantics/resolve34.f90 --- a/flang/test/Semantics/resolve34.f90 +++ b/flang/test/Semantics/resolve34.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Extended derived types module m1 diff --git a/flang/test/Semantics/resolve35.f90 b/flang/test/Semantics/resolve35.f90 --- a/flang/test/Semantics/resolve35.f90 +++ b/flang/test/Semantics/resolve35.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Construct names subroutine s1 diff --git a/flang/test/Semantics/resolve36.f90 b/flang/test/Semantics/resolve36.f90 --- a/flang/test/Semantics/resolve36.f90 +++ b/flang/test/Semantics/resolve36.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1568 The procedure-name shall have been declared to be a separate module ! procedure in the containing program unit or an ancestor of that program unit. diff --git a/flang/test/Semantics/resolve37.f90 b/flang/test/Semantics/resolve37.f90 --- a/flang/test/Semantics/resolve37.f90 +++ b/flang/test/Semantics/resolve37.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C701 The type-param-value for a kind type parameter shall be a constant ! expression. This constraint looks like a mistake in the standard. integer, parameter :: k = 8 diff --git a/flang/test/Semantics/resolve38.f90 b/flang/test/Semantics/resolve38.f90 --- a/flang/test/Semantics/resolve38.f90 +++ b/flang/test/Semantics/resolve38.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C772 module m1 type t1 diff --git a/flang/test/Semantics/resolve39.f90 b/flang/test/Semantics/resolve39.f90 --- a/flang/test/Semantics/resolve39.f90 +++ b/flang/test/Semantics/resolve39.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 implicit none real(8) :: x = 2.0 diff --git a/flang/test/Semantics/resolve40.f90 b/flang/test/Semantics/resolve40.f90 --- a/flang/test/Semantics/resolve40.f90 +++ b/flang/test/Semantics/resolve40.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 namelist /nl/x block diff --git a/flang/test/Semantics/resolve41.f90 b/flang/test/Semantics/resolve41.f90 --- a/flang/test/Semantics/resolve41.f90 +++ b/flang/test/Semantics/resolve41.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m implicit none real, parameter :: a = 8.0 diff --git a/flang/test/Semantics/resolve42.f90 b/flang/test/Semantics/resolve42.f90 --- a/flang/test/Semantics/resolve42.f90 +++ b/flang/test/Semantics/resolve42.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1 !ERROR: Array 'z' without ALLOCATABLE or POINTER attribute must have explicit shape common x, y(4), z(:) diff --git a/flang/test/Semantics/resolve43.f90 b/flang/test/Semantics/resolve43.f90 --- a/flang/test/Semantics/resolve43.f90 +++ b/flang/test/Semantics/resolve43.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for structure constructors. ! Errors caught by expression resolution are tested elsewhere; these are the ! errors meant to be caught by name resolution, as well as acceptable use diff --git a/flang/test/Semantics/resolve44.f90 b/flang/test/Semantics/resolve44.f90 --- a/flang/test/Semantics/resolve44.f90 +++ b/flang/test/Semantics/resolve44.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for recursive use of derived types. ! C744 If neither the POINTER nor the ALLOCATABLE attribute is specified, the ! declaration-type-spec in the component-def-stmt shall specify an intrinsic diff --git a/flang/test/Semantics/resolve45.f90 b/flang/test/Semantics/resolve45.f90 --- a/flang/test/Semantics/resolve45.f90 +++ b/flang/test/Semantics/resolve45.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 function f1(x, y) integer x !ERROR: SAVE attribute may not be applied to dummy argument 'x' diff --git a/flang/test/Semantics/resolve46.f90 b/flang/test/Semantics/resolve46.f90 --- a/flang/test/Semantics/resolve46.f90 +++ b/flang/test/Semantics/resolve46.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C1030 - pointers to intrinsic procedures program main intrinsic :: cos ! a specific & generic intrinsic name diff --git a/flang/test/Semantics/resolve47.f90 b/flang/test/Semantics/resolve47.f90 --- a/flang/test/Semantics/resolve47.f90 +++ b/flang/test/Semantics/resolve47.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 !ERROR: Logical constant '.true.' may not be used as a defined operator interface operator(.TRUE.) diff --git a/flang/test/Semantics/resolve48.f90 b/flang/test/Semantics/resolve48.f90 --- a/flang/test/Semantics/resolve48.f90 +++ b/flang/test/Semantics/resolve48.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test correct use-association of a derived type. module m1 implicit none diff --git a/flang/test/Semantics/resolve49.f90 b/flang/test/Semantics/resolve49.f90 --- a/flang/test/Semantics/resolve49.f90 +++ b/flang/test/Semantics/resolve49.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test section subscript program p1 real :: a(10,10) diff --git a/flang/test/Semantics/resolve50.f90 b/flang/test/Semantics/resolve50.f90 --- a/flang/test/Semantics/resolve50.f90 +++ b/flang/test/Semantics/resolve50.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test coarray association in CHANGE TEAM statement subroutine s1 diff --git a/flang/test/Semantics/resolve51.f90 b/flang/test/Semantics/resolve51.f90 --- a/flang/test/Semantics/resolve51.f90 +++ b/flang/test/Semantics/resolve51.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test SELECT TYPE errors: C1157 subroutine s1() diff --git a/flang/test/Semantics/resolve52.f90 b/flang/test/Semantics/resolve52.f90 --- a/flang/test/Semantics/resolve52.f90 +++ b/flang/test/Semantics/resolve52.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for C760: ! The passed-object dummy argument shall be a scalar, nonpointer, nonallocatable ! dummy data object with the same declared type as the type being defined; diff --git a/flang/test/Semantics/resolve53.f90 b/flang/test/Semantics/resolve53.f90 --- a/flang/test/Semantics/resolve53.f90 +++ b/flang/test/Semantics/resolve53.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! 15.4.3.4.5 Restrictions on generic declarations ! Specific procedures of generic interfaces must be distinguishable. diff --git a/flang/test/Semantics/resolve54.f90 b/flang/test/Semantics/resolve54.f90 --- a/flang/test/Semantics/resolve54.f90 +++ b/flang/test/Semantics/resolve54.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests based on examples in C.10.6 ! C.10.6(10) diff --git a/flang/test/Semantics/resolve55.f90 b/flang/test/Semantics/resolve55.f90 --- a/flang/test/Semantics/resolve55.f90 +++ b/flang/test/Semantics/resolve55.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for C1128: ! A variable-name that appears in a LOCAL or LOCAL_INIT locality-spec shall not ! have the ALLOCATABLE; INTENT (IN); or OPTIONAL attribute; shall not be of diff --git a/flang/test/Semantics/resolve56.f90 b/flang/test/Semantics/resolve56.f90 --- a/flang/test/Semantics/resolve56.f90 +++ b/flang/test/Semantics/resolve56.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that associations constructs can be correctly combined. The intrinsic ! functions are not what is tested here, they are only use to reveal the types ! of local variables. diff --git a/flang/test/Semantics/resolve57.f90 b/flang/test/Semantics/resolve57.f90 --- a/flang/test/Semantics/resolve57.f90 +++ b/flang/test/Semantics/resolve57.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for the last sentence of C1128: !A variable-name that is not permitted to appear in a variable definition !context shall not appear in a LOCAL or LOCAL_INIT locality-spec. diff --git a/flang/test/Semantics/resolve58.f90 b/flang/test/Semantics/resolve58.f90 --- a/flang/test/Semantics/resolve58.f90 +++ b/flang/test/Semantics/resolve58.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1(x, y) !ERROR: Array pointer 'x' must have deferred shape or assumed rank real, pointer :: x(1:) ! C832 diff --git a/flang/test/Semantics/resolve59.f90 b/flang/test/Semantics/resolve59.f90 --- a/flang/test/Semantics/resolve59.f90 +++ b/flang/test/Semantics/resolve59.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Testing 15.6.2.2 point 4 (What function-name refers to depending on the ! presence of RESULT). diff --git a/flang/test/Semantics/resolve60.f90 b/flang/test/Semantics/resolve60.f90 --- a/flang/test/Semantics/resolve60.f90 +++ b/flang/test/Semantics/resolve60.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Testing 7.6 enum ! OK diff --git a/flang/test/Semantics/resolve61.f90 b/flang/test/Semantics/resolve61.f90 --- a/flang/test/Semantics/resolve61.f90 +++ b/flang/test/Semantics/resolve61.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 program p1 integer(8) :: a, b, c, d pointer(a, b) diff --git a/flang/test/Semantics/resolve62.f90 b/flang/test/Semantics/resolve62.f90 --- a/flang/test/Semantics/resolve62.f90 +++ b/flang/test/Semantics/resolve62.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Resolve generic based on number of arguments subroutine s1 interface f diff --git a/flang/test/Semantics/resolve63.f90 b/flang/test/Semantics/resolve63.f90 --- a/flang/test/Semantics/resolve63.f90 +++ b/flang/test/Semantics/resolve63.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Invalid operand types when user-defined operator is available module m1 type :: t diff --git a/flang/test/Semantics/resolve64.f90 b/flang/test/Semantics/resolve64.f90 --- a/flang/test/Semantics/resolve64.f90 +++ b/flang/test/Semantics/resolve64.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang -flogical-abbreviations -fxor-operator -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang -flogical-abbreviations -fxor-operator ! Like m4 in resolve63 but compiled with different options. ! Alternate operators are enabled so treat these as intrinsic. diff --git a/flang/test/Semantics/resolve65.f90 b/flang/test/Semantics/resolve65.f90 --- a/flang/test/Semantics/resolve65.f90 +++ b/flang/test/Semantics/resolve65.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test restrictions on what subprograms can be used for defined assignment. module m1 diff --git a/flang/test/Semantics/resolve66.f90 b/flang/test/Semantics/resolve66.f90 --- a/flang/test/Semantics/resolve66.f90 +++ b/flang/test/Semantics/resolve66.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test that user-defined assignment is used in the right places module m1 diff --git a/flang/test/Semantics/resolve67.f90 b/flang/test/Semantics/resolve67.f90 --- a/flang/test/Semantics/resolve67.f90 +++ b/flang/test/Semantics/resolve67.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test restrictions on what subprograms can be used for defined operators. ! See: 15.4.3.4.2 diff --git a/flang/test/Semantics/resolve68.f90 b/flang/test/Semantics/resolve68.f90 --- a/flang/test/Semantics/resolve68.f90 +++ b/flang/test/Semantics/resolve68.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test resolution of type-bound generics. module m1 diff --git a/flang/test/Semantics/resolve69.f90 b/flang/test/Semantics/resolve69.f90 --- a/flang/test/Semantics/resolve69.f90 +++ b/flang/test/Semantics/resolve69.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1() ! C701 (R701) The type-param-value for a kind type parameter shall be a ! constant expression. diff --git a/flang/test/Semantics/resolve70.f90 b/flang/test/Semantics/resolve70.f90 --- a/flang/test/Semantics/resolve70.f90 +++ b/flang/test/Semantics/resolve70.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C703 (R702) The derived-type-spec shall not specify an abstract type (7.5.7). ! This constraint refers to the derived-type-spec in a type-spec. A type-spec ! can appear in an ALLOCATE statement, an ac-spec for an array constructor, and diff --git a/flang/test/Semantics/resolve71.f90 b/flang/test/Semantics/resolve71.f90 --- a/flang/test/Semantics/resolve71.f90 +++ b/flang/test/Semantics/resolve71.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C708 An entity declared with the CLASS keyword shall be a dummy argument ! or have the ALLOCATABLE or POINTER attribute. subroutine s() diff --git a/flang/test/Semantics/resolve72.f90 b/flang/test/Semantics/resolve72.f90 --- a/flang/test/Semantics/resolve72.f90 +++ b/flang/test/Semantics/resolve72.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C709 An assumed-type entity shall be a dummy data object that does not have ! the ALLOCATABLE, CODIMENSION, INTENT (OUT), POINTER, or VALUE attribute and ! is not an explicit-shape array. diff --git a/flang/test/Semantics/resolve73.f90 b/flang/test/Semantics/resolve73.f90 --- a/flang/test/Semantics/resolve73.f90 +++ b/flang/test/Semantics/resolve73.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C721 A type-param-value of * shall be used only ! * to declare a dummy argument, ! * to declare a named constant, diff --git a/flang/test/Semantics/resolve74.f90 b/flang/test/Semantics/resolve74.f90 --- a/flang/test/Semantics/resolve74.f90 +++ b/flang/test/Semantics/resolve74.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C722 A function name shall not be declared with an asterisk type-param-value ! unless it is of type CHARACTER and is the name of a dummy function or the ! name of the result of an external function. diff --git a/flang/test/Semantics/resolve75.f90 b/flang/test/Semantics/resolve75.f90 --- a/flang/test/Semantics/resolve75.f90 +++ b/flang/test/Semantics/resolve75.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C726 The length specified for a character statement function or for a ! statement function dummy argument of type character shall be a constant ! expression. diff --git a/flang/test/Semantics/resolve76.f90 b/flang/test/Semantics/resolve76.f90 --- a/flang/test/Semantics/resolve76.f90 +++ b/flang/test/Semantics/resolve76.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! 15.6.2.5(3) diff --git a/flang/test/Semantics/resolve77.f90 b/flang/test/Semantics/resolve77.f90 --- a/flang/test/Semantics/resolve77.f90 +++ b/flang/test/Semantics/resolve77.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests valid and invalid usage of forward references to procedures ! in specification expressions. module m diff --git a/flang/test/Semantics/resolve78.f90 b/flang/test/Semantics/resolve78.f90 --- a/flang/test/Semantics/resolve78.f90 +++ b/flang/test/Semantics/resolve78.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m ! C743 No component-attr-spec shall appear more than once in a ! given component-def-stmt. diff --git a/flang/test/Semantics/resolve79.f90 b/flang/test/Semantics/resolve79.f90 --- a/flang/test/Semantics/resolve79.f90 +++ b/flang/test/Semantics/resolve79.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m ! C755 The same proc-component-attr-spec shall not appear more than once in a ! given proc-component-def-stmt. diff --git a/flang/test/Semantics/resolve80.f90 b/flang/test/Semantics/resolve80.f90 --- a/flang/test/Semantics/resolve80.f90 +++ b/flang/test/Semantics/resolve80.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m !C778 The same binding-attr shall not appear more than once in a given !binding-attr-list. diff --git a/flang/test/Semantics/resolve81.f90 b/flang/test/Semantics/resolve81.f90 --- a/flang/test/Semantics/resolve81.f90 +++ b/flang/test/Semantics/resolve81.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C801 The same attr-spec shall not appear more than once in a given ! type-declaration-stmt. ! diff --git a/flang/test/Semantics/resolve82.f90 b/flang/test/Semantics/resolve82.f90 --- a/flang/test/Semantics/resolve82.f90 +++ b/flang/test/Semantics/resolve82.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C815 An entity shall not be explicitly given any attribute more than once in ! a scoping unit. ! diff --git a/flang/test/Semantics/resolve83.f90 b/flang/test/Semantics/resolve83.f90 --- a/flang/test/Semantics/resolve83.f90 +++ b/flang/test/Semantics/resolve83.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m ! For C1543 diff --git a/flang/test/Semantics/resolve84.f90 b/flang/test/Semantics/resolve84.f90 --- a/flang/test/Semantics/resolve84.f90 +++ b/flang/test/Semantics/resolve84.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C729 A derived type type-name shall not be DOUBLEPRECISION or the same as ! the name of any intrinsic type defined in this document. subroutine s() diff --git a/flang/test/Semantics/resolve85.f90 b/flang/test/Semantics/resolve85.f90 --- a/flang/test/Semantics/resolve85.f90 +++ b/flang/test/Semantics/resolve85.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m ! C730 The same type-attr-spec shall not appear more than once in a given ! derived-type-stmt. diff --git a/flang/test/Semantics/resolve86.f90 b/flang/test/Semantics/resolve86.f90 --- a/flang/test/Semantics/resolve86.f90 +++ b/flang/test/Semantics/resolve86.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C736 If EXTENDS appears and the type being defined has a coarray ultimate ! component, its parent type shall have a coarray ultimate component. ! diff --git a/flang/test/Semantics/resolve87.f90 b/flang/test/Semantics/resolve87.f90 --- a/flang/test/Semantics/resolve87.f90 +++ b/flang/test/Semantics/resolve87.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C737 If EXTENDS appears and the type being defined has a potential ! subobject component of type EVENT_TYPE or LOCK_TYPE from the intrinsic ! module ISO_FORTRAN_ENV, its parent type shall be EVENT_TYPE or LOCK_TYPE diff --git a/flang/test/Semantics/resolve88.f90 b/flang/test/Semantics/resolve88.f90 --- a/flang/test/Semantics/resolve88.f90 +++ b/flang/test/Semantics/resolve88.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C746, C747, and C748 module m use ISO_FORTRAN_ENV diff --git a/flang/test/Semantics/resolve89.f90 b/flang/test/Semantics/resolve89.f90 --- a/flang/test/Semantics/resolve89.f90 +++ b/flang/test/Semantics/resolve89.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C750 Each bound in the explicit-shape-spec shall be a specification ! expression in which there are no references to specification functions or ! the intrinsic functions ALLOCATED, ASSOCIATED, EXTENDS_TYPE_OF, PRESENT, diff --git a/flang/test/Semantics/resolve90.f90 b/flang/test/Semantics/resolve90.f90 --- a/flang/test/Semantics/resolve90.f90 +++ b/flang/test/Semantics/resolve90.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Testing for pointer constant, along with : ! C751 A component shall not have both the ALLOCATABLE and POINTER attributes. ! C752 If the CONTIGUOUS attribute is specified, the component shall be an diff --git a/flang/test/Semantics/resolve91.f90 b/flang/test/Semantics/resolve91.f90 --- a/flang/test/Semantics/resolve91.f90 +++ b/flang/test/Semantics/resolve91.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for duplicate definitions and initializations, mostly of procedures module m procedure(real), pointer :: p diff --git a/flang/test/Semantics/resolve92.f90 b/flang/test/Semantics/resolve92.f90 --- a/flang/test/Semantics/resolve92.f90 +++ b/flang/test/Semantics/resolve92.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 implicit none diff --git a/flang/test/Semantics/resolve93.f90 b/flang/test/Semantics/resolve93.f90 --- a/flang/test/Semantics/resolve93.f90 +++ b/flang/test/Semantics/resolve93.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 subroutine s1() character(10) str character(10) str1 diff --git a/flang/test/Semantics/resolve94.f90 b/flang/test/Semantics/resolve94.f90 --- a/flang/test/Semantics/resolve94.f90 +++ b/flang/test/Semantics/resolve94.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! C929 No specifier shall appear more than once in a given ! image-selector-spec-list. ! C930 TEAM and TEAM_NUMBER shall not both appear in the same diff --git a/flang/test/Semantics/resolve95.f90 b/flang/test/Semantics/resolve95.f90 --- a/flang/test/Semantics/resolve95.f90 +++ b/flang/test/Semantics/resolve95.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test SELECT TYPE and ASSOCIATE errors: C1103 subroutine s1() diff --git a/flang/test/Semantics/resolve96.f90 b/flang/test/Semantics/resolve96.f90 --- a/flang/test/Semantics/resolve96.f90 +++ b/flang/test/Semantics/resolve96.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check distinguishability for specific procedures of defined operators and ! assignment. These are different from names because there a normal generic diff --git a/flang/test/Semantics/resolve97.f90 b/flang/test/Semantics/resolve97.f90 --- a/flang/test/Semantics/resolve97.f90 +++ b/flang/test/Semantics/resolve97.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Check errors from illegal (10.1.12 para 2) forward references ! in specification expressions to entities declared later in the diff --git a/flang/test/Semantics/resolve98.f90 b/flang/test/Semantics/resolve98.f90 --- a/flang/test/Semantics/resolve98.f90 +++ b/flang/test/Semantics/resolve98.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Errors when comparing LOGICAL operands program testCompare diff --git a/flang/test/Semantics/resolve99.f90 b/flang/test/Semantics/resolve99.f90 --- a/flang/test/Semantics/resolve99.f90 +++ b/flang/test/Semantics/resolve99.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for the index-name of a FORALL statement module m1 diff --git a/flang/test/Semantics/save01.f90 b/flang/test/Semantics/save01.f90 --- a/flang/test/Semantics/save01.f90 +++ b/flang/test/Semantics/save01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 MODULE test SAVE CONTAINS diff --git a/flang/test/Semantics/select-rank.f90 b/flang/test/Semantics/select-rank.f90 --- a/flang/test/Semantics/select-rank.f90 +++ b/flang/test/Semantics/select-rank.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Tests for SELECT RANK Construct(R1148) program select_rank diff --git a/flang/test/Semantics/select-rank02.f90 b/flang/test/Semantics/select-rank02.f90 --- a/flang/test/Semantics/select-rank02.f90 +++ b/flang/test/Semantics/select-rank02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 !Shape analysis related tests for SELECT RANK Construct(R1148) program select_rank diff --git a/flang/test/Semantics/selecttype01.f90 b/flang/test/Semantics/selecttype01.f90 --- a/flang/test/Semantics/selecttype01.f90 +++ b/flang/test/Semantics/selecttype01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test for checking select type constraints, module m1 use ISO_C_BINDING diff --git a/flang/test/Semantics/selecttype02.f90 b/flang/test/Semantics/selecttype02.f90 --- a/flang/test/Semantics/selecttype02.f90 +++ b/flang/test/Semantics/selecttype02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 module m1 use ISO_C_BINDING type shape diff --git a/flang/test/Semantics/selecttype03.f90 b/flang/test/Semantics/selecttype03.f90 --- a/flang/test/Semantics/selecttype03.f90 +++ b/flang/test/Semantics/selecttype03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test various conditions in C1158. implicit none diff --git a/flang/test/Semantics/separate-mp01.f90 b/flang/test/Semantics/separate-mp01.f90 --- a/flang/test/Semantics/separate-mp01.f90 +++ b/flang/test/Semantics/separate-mp01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! case 1: ma_create_new_fun' was not declared a separate module procedure module m1 diff --git a/flang/test/Semantics/separate-mp02.f90 b/flang/test/Semantics/separate-mp02.f90 --- a/flang/test/Semantics/separate-mp02.f90 +++ b/flang/test/Semantics/separate-mp02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! When a module subprogram has the MODULE prefix the following must match ! with the corresponding separate module procedure interface body: diff --git a/flang/test/Semantics/shape.f90 b/flang/test/Semantics/shape.f90 --- a/flang/test/Semantics/shape.f90 +++ b/flang/test/Semantics/shape.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Test comparisons that use the intrinsic SHAPE() as an operand program testShape contains diff --git a/flang/test/Semantics/spec-expr.f90 b/flang/test/Semantics/spec-expr.f90 --- a/flang/test/Semantics/spec-expr.f90 +++ b/flang/test/Semantics/spec-expr.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Tests for the 14 items that specify a "specification expression" in section ! 10.1.11 diff --git a/flang/test/Semantics/stop01.f90 b/flang/test/Semantics/stop01.f90 --- a/flang/test/Semantics/stop01.f90 +++ b/flang/test/Semantics/stop01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 program main implicit none integer :: i = -1 diff --git a/flang/test/Semantics/structconst01.f90 b/flang/test/Semantics/structconst01.f90 --- a/flang/test/Semantics/structconst01.f90 +++ b/flang/test/Semantics/structconst01.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for structure constructors. ! Errors caught by name resolution are tested elsewhere; these are the ! errors meant to be caught by expression semantic analysis, as well as diff --git a/flang/test/Semantics/structconst02.f90 b/flang/test/Semantics/structconst02.f90 --- a/flang/test/Semantics/structconst02.f90 +++ b/flang/test/Semantics/structconst02.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for structure constructors: per-component type ! (in)compatibility. diff --git a/flang/test/Semantics/structconst03.f90 b/flang/test/Semantics/structconst03.f90 --- a/flang/test/Semantics/structconst03.f90 +++ b/flang/test/Semantics/structconst03.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for structure constructors: C1594 violations ! from assigning globally-visible data to POINTER components. ! test/Semantics/structconst04.f90 is this same test without type diff --git a/flang/test/Semantics/structconst04.f90 b/flang/test/Semantics/structconst04.f90 --- a/flang/test/Semantics/structconst04.f90 +++ b/flang/test/Semantics/structconst04.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! Error tests for structure constructors: C1594 violations ! from assigning globally-visible data to POINTER components. ! This test is structconst03.f90 with the type parameters removed. diff --git a/flang/test/Semantics/test_errors.py b/flang/test/Semantics/test_errors.py new file mode 100755 --- /dev/null +++ b/flang/test/Semantics/test_errors.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 + +"""Compiles a source file and checks errors against those listed in the file. + +Parameters: + sys.argv[1]: a source file with contains the input and expected output + sys.argv[2]: the Flang frontend driver + sys.argv[3:]: Optional arguments to the Flang frontend driver""" + +import sys +import re +import tempfile +import subprocess +import common as cm + +from difflib import unified_diff + +cm.check_args(sys.argv) +srcdir = cm.set_source(sys.argv[1]) +with open(srcdir, 'r') as f: + src = f.readlines() +actual = "" +expect = "" +diffs = "" +log = "" + +flang_fc1 = cm.set_executable(sys.argv[2]) +flang_fc1_args = sys.argv[3:] +flang_fc1_options = "-fsyntax-only" + +# Compiles, and reads in the output from the compilation process +cmd = [flang_fc1, *flang_fc1_args, flang_fc1_options, str(srcdir)] +with tempfile.TemporaryDirectory() as tmpdir: + try: + proc = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, + check=True, universal_newlines=True, cwd=tmpdir) + except subprocess.CalledProcessError as e: + log = e.stderr + if e.returncode >= 128: + print(f"{log}") + sys.exit(1) + +# Cleans up the output from the compilation process to be easier to process +for line in log.split('\n'): + m = re.search(r"[^:]*:(\d+:).*(?:error:)(.*)", line) + if m: + actual += m.expand(r"\1\2\n") + +# Gets the expected errors and their line number +errors = [] +for i, line in enumerate(src, 1): + m = re.search(r"(?:^\s*!ERROR: )(.*)", line) + if m: + errors.append(m.group(1)) + continue + if errors: + for x in errors: + expect += f"{i}: {x}\n" + errors = [] + +# Compares the expected errors with the compiler errors +for line in unified_diff(actual.split("\n"), expect.split("\n"), n=0): + line = re.sub(r"(^\-)(\d+:)", r"\nactual at \g<2>", line) + line = re.sub(r"(^\+)(\d+:)", r"\nexpect at \g<2>", line) + diffs += line + +if diffs != "": + print(diffs) + print() + print("FAIL") + sys.exit(1) +else: + print() + print("PASS") + diff --git a/flang/test/Semantics/test_errors.sh b/flang/test/Semantics/test_errors.sh deleted file mode 100755 --- a/flang/test/Semantics/test_errors.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# Compile a source file and check errors against those listed in the file. -# Change the compiler by setting the FLANG_FC1 environment variable. - -FLANG_FC1_OPTIONS="-fsyntax-only" -srcdir=$(dirname $0) -source $srcdir/common.sh -[[ ! -f $src ]] && die "File not found: $src" - -log=$temp/log -actual=$temp/actual -expect=$temp/expect -diffs=$temp/diffs - -cmd="$FLANG_FC1 $FLANG_FC1_OPTIONS $src" -( cd $temp; $cmd ) > $log 2>&1 -if [[ $? -ge 128 ]]; then - cat $log - exit 1 -fi - -# $actual has errors from the compiler; $expect has them from !ERROR comments in source -# Format both as ": " so they can be diffed. -sed -n 's=^[^:]*:\([^:]*\):[^:]*: error: =\1: =p' $log > $actual -awk ' - BEGIN { FS = "!ERROR: "; } - /^ *!ERROR: / { errors[nerrors++] = $2; next; } - { for (i = 0; i < nerrors; ++i) printf "%d: %s\n", NR, errors[i]; nerrors = 0; } -' $src > $expect - -if diff -U0 $actual $expect > $diffs; then - echo PASS -else - echo "$cmd" - < $diffs \ - sed -n -e 's/^-\([0-9]\)/actual at \1/p' -e 's/^+\([0-9]\)/expect at \1/p' \ - | sort -n -k 3 - die FAIL -fi diff --git a/flang/test/Semantics/unpack.f90 b/flang/test/Semantics/unpack.f90 --- a/flang/test/Semantics/unpack.f90 +++ b/flang/test/Semantics/unpack.f90 @@ -1,5 +1,4 @@ -! RUN: %S/test_errors.sh %s %t %flang_fc1 -! REQUIRES: shell +! RUN: %python %S/test_errors.py %s %flang_fc1 ! UNPACK() intrinsic function error tests program test_unpack integer, dimension(2) :: vector = [343, 512]