[flang-commits] [flang] 58c3f20 - [flang][windows] Run regression tests under Windows. NFCI.

Michael Kruse via flang-commits flang-commits at lists.llvm.org
Thu Jun 10 03:15:51 PDT 2021


Author: Michael Kruse
Date: 2021-06-10T05:13:44-05:00
New Revision: 58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b

URL: https://github.com/llvm/llvm-project/commit/58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b
DIFF: https://github.com/llvm/llvm-project/commit/58c3f20bbf51f454ffb38ddb700a1d5ad374dc7b.diff

LOG: [flang][windows] Run regression tests under Windows. NFCI.

Allow the lit test suite to run under Windows. This encompasses the following changes:

 * Define `lit_tools_dir` for flang's test configuration
 * Replace `(<command> || true)` idiom with `not <command>`
 * Add `REQUIRES: shell` on tests that invoke a shell script

Reviewed By: awarzynski

Differential Revision: https://reviews.llvm.org/D89368

Added: 
    

Modified: 
    flang/test/Driver/debug-parsing-log.f90
    flang/test/Driver/debug-provenance.f90
    flang/test/Evaluate/folding01.f90
    flang/test/Evaluate/folding02.f90
    flang/test/Evaluate/folding03.f90
    flang/test/Evaluate/folding04.f90
    flang/test/Evaluate/folding05.f90
    flang/test/Evaluate/folding06.f90
    flang/test/Evaluate/folding07.f90
    flang/test/Evaluate/folding08.f90
    flang/test/Evaluate/folding09.f90
    flang/test/Evaluate/folding10.f90
    flang/test/Evaluate/folding11.f90
    flang/test/Evaluate/folding12.f90
    flang/test/Evaluate/folding13.f90
    flang/test/Evaluate/folding14.f90
    flang/test/Evaluate/folding15.f90
    flang/test/Evaluate/folding16.f90
    flang/test/Evaluate/folding17.f90
    flang/test/Evaluate/folding18.f90
    flang/test/Preprocessing/pp130.F90
    flang/test/Semantics/OpenACC/acc-atomic-validity.f90
    flang/test/Semantics/OpenACC/acc-branch.f90
    flang/test/Semantics/OpenACC/acc-cache-validity.f90
    flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
    flang/test/Semantics/OpenACC/acc-data.f90
    flang/test/Semantics/OpenACC/acc-declare-validity.f90
    flang/test/Semantics/OpenACC/acc-host-data.f90
    flang/test/Semantics/OpenACC/acc-init-validity.f90
    flang/test/Semantics/OpenACC/acc-kernels-loop.f90
    flang/test/Semantics/OpenACC/acc-kernels.f90
    flang/test/Semantics/OpenACC/acc-loop.f90
    flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
    flang/test/Semantics/OpenACC/acc-parallel.f90
    flang/test/Semantics/OpenACC/acc-resolve01.f90
    flang/test/Semantics/OpenACC/acc-resolve02.f90
    flang/test/Semantics/OpenACC/acc-routine-validity.f90
    flang/test/Semantics/OpenACC/acc-serial-loop.f90
    flang/test/Semantics/OpenACC/acc-serial.f90
    flang/test/Semantics/OpenACC/acc-set-validity.f90
    flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
    flang/test/Semantics/OpenACC/acc-symbols01.f90
    flang/test/Semantics/OpenACC/acc-update-validity.f90
    flang/test/Semantics/OpenACC/acc-wait-validity.f90
    flang/test/Semantics/allocate01.f90
    flang/test/Semantics/allocate02.f90
    flang/test/Semantics/allocate03.f90
    flang/test/Semantics/allocate04.f90
    flang/test/Semantics/allocate05.f90
    flang/test/Semantics/allocate06.f90
    flang/test/Semantics/allocate07.f90
    flang/test/Semantics/allocate08.f90
    flang/test/Semantics/allocate09.f90
    flang/test/Semantics/allocate10.f90
    flang/test/Semantics/allocate11.f90
    flang/test/Semantics/allocate12.f90
    flang/test/Semantics/allocate13.f90
    flang/test/Semantics/altreturn01.f90
    flang/test/Semantics/altreturn02.f90
    flang/test/Semantics/altreturn03.f90
    flang/test/Semantics/altreturn04.f90
    flang/test/Semantics/altreturn05.f90
    flang/test/Semantics/altreturn06.f90
    flang/test/Semantics/array-constr-big.f90
    flang/test/Semantics/array-constr-values.f90
    flang/test/Semantics/assign01.f90
    flang/test/Semantics/assign02.f90
    flang/test/Semantics/assign03.f90
    flang/test/Semantics/assign04.f90
    flang/test/Semantics/assign06.f90
    flang/test/Semantics/assign07.f90
    flang/test/Semantics/associated.f90
    flang/test/Semantics/bad-forward-type.f90
    flang/test/Semantics/bind-c01.f90
    flang/test/Semantics/bindings01.f90
    flang/test/Semantics/block-data01.f90
    flang/test/Semantics/blockconstruct01.f90
    flang/test/Semantics/blockconstruct02.f90
    flang/test/Semantics/blockconstruct03.f90
    flang/test/Semantics/boz-literal-constants.f90
    flang/test/Semantics/c_f_pointer.f90
    flang/test/Semantics/call01.f90
    flang/test/Semantics/call02.f90
    flang/test/Semantics/call03.f90
    flang/test/Semantics/call04.f90
    flang/test/Semantics/call05.f90
    flang/test/Semantics/call06.f90
    flang/test/Semantics/call07.f90
    flang/test/Semantics/call08.f90
    flang/test/Semantics/call09.f90
    flang/test/Semantics/call10.f90
    flang/test/Semantics/call11.f90
    flang/test/Semantics/call12.f90
    flang/test/Semantics/call13.f90
    flang/test/Semantics/call14.f90
    flang/test/Semantics/call15.f90
    flang/test/Semantics/call16.f90
    flang/test/Semantics/call18.f90
    flang/test/Semantics/case01.f90
    flang/test/Semantics/coarrays01.f90
    flang/test/Semantics/complex01.f90
    flang/test/Semantics/computed-goto01.f90
    flang/test/Semantics/computed-goto02.f90
    flang/test/Semantics/critical01.f90
    flang/test/Semantics/critical02.f90
    flang/test/Semantics/critical03.f90
    flang/test/Semantics/data01.f90
    flang/test/Semantics/data02.f90
    flang/test/Semantics/data03.f90
    flang/test/Semantics/data04.f90
    flang/test/Semantics/data06.f90
    flang/test/Semantics/data07.f90
    flang/test/Semantics/data10.f90
    flang/test/Semantics/deallocate01.f90
    flang/test/Semantics/deallocate04.f90
    flang/test/Semantics/deallocate05.f90
    flang/test/Semantics/deallocate06.f90
    flang/test/Semantics/doconcurrent01.f90
    flang/test/Semantics/doconcurrent05.f90
    flang/test/Semantics/doconcurrent06.f90
    flang/test/Semantics/doconcurrent08.f90
    flang/test/Semantics/dosemantics01.f90
    flang/test/Semantics/dosemantics02.f90
    flang/test/Semantics/dosemantics03.f90
    flang/test/Semantics/dosemantics04.f90
    flang/test/Semantics/dosemantics05.f90
    flang/test/Semantics/dosemantics06.f90
    flang/test/Semantics/dosemantics07.f90
    flang/test/Semantics/dosemantics08.f90
    flang/test/Semantics/dosemantics09.f90
    flang/test/Semantics/dosemantics10.f90
    flang/test/Semantics/dosemantics11.f90
    flang/test/Semantics/dosemantics12.f90
    flang/test/Semantics/entry01.f90
    flang/test/Semantics/equivalence01.f90
    flang/test/Semantics/expr-errors01.f90
    flang/test/Semantics/expr-errors02.f90
    flang/test/Semantics/expr-errors03.f90
    flang/test/Semantics/final01.f90
    flang/test/Semantics/forall01.f90
    flang/test/Semantics/if_arith01.f90
    flang/test/Semantics/if_arith02.f90
    flang/test/Semantics/if_arith03.f90
    flang/test/Semantics/if_arith04.f90
    flang/test/Semantics/if_construct01.f90
    flang/test/Semantics/if_construct02.f90
    flang/test/Semantics/if_stmt01.f90
    flang/test/Semantics/if_stmt02.f90
    flang/test/Semantics/if_stmt03.f90
    flang/test/Semantics/implicit01.f90
    flang/test/Semantics/implicit02.f90
    flang/test/Semantics/implicit03.f90
    flang/test/Semantics/implicit04.f90
    flang/test/Semantics/implicit05.f90
    flang/test/Semantics/implicit06.f90
    flang/test/Semantics/implicit07.f90
    flang/test/Semantics/implicit08.f90
    flang/test/Semantics/implicit09.f90
    flang/test/Semantics/implicit10.f90
    flang/test/Semantics/implicit11.f90
    flang/test/Semantics/init01.f90
    flang/test/Semantics/int-literals.f90
    flang/test/Semantics/io01.f90
    flang/test/Semantics/io02.f90
    flang/test/Semantics/io03.f90
    flang/test/Semantics/io04.f90
    flang/test/Semantics/io05.f90
    flang/test/Semantics/io06.f90
    flang/test/Semantics/io07.f90
    flang/test/Semantics/io08.f90
    flang/test/Semantics/io09.f90
    flang/test/Semantics/io10.f90
    flang/test/Semantics/io11.f90
    flang/test/Semantics/kinds01.f90
    flang/test/Semantics/kinds02.f90
    flang/test/Semantics/kinds03.f90
    flang/test/Semantics/kinds04.f90
    flang/test/Semantics/label11.f90
    flang/test/Semantics/label16.f90
    flang/test/Semantics/misc-declarations.f90
    flang/test/Semantics/missing_newline.f90
    flang/test/Semantics/modfile01.f90
    flang/test/Semantics/modfile02.f90
    flang/test/Semantics/modfile03.f90
    flang/test/Semantics/modfile04.f90
    flang/test/Semantics/modfile05.f90
    flang/test/Semantics/modfile06.f90
    flang/test/Semantics/modfile07.f90
    flang/test/Semantics/modfile08.f90
    flang/test/Semantics/modfile09.f90
    flang/test/Semantics/modfile10.f90
    flang/test/Semantics/modfile11.f90
    flang/test/Semantics/modfile12.f90
    flang/test/Semantics/modfile13.f90
    flang/test/Semantics/modfile14.f90
    flang/test/Semantics/modfile15.f90
    flang/test/Semantics/modfile16.f90
    flang/test/Semantics/modfile17.f90
    flang/test/Semantics/modfile18.f90
    flang/test/Semantics/modfile19.f90
    flang/test/Semantics/modfile20.f90
    flang/test/Semantics/modfile21.f90
    flang/test/Semantics/modfile22.f90
    flang/test/Semantics/modfile23.f90
    flang/test/Semantics/modfile24.f90
    flang/test/Semantics/modfile25.f90
    flang/test/Semantics/modfile26.f90
    flang/test/Semantics/modfile27.f90
    flang/test/Semantics/modfile28.f90
    flang/test/Semantics/modfile29.f90
    flang/test/Semantics/modfile30.f90
    flang/test/Semantics/modfile31.f90
    flang/test/Semantics/modfile32.f90
    flang/test/Semantics/modfile33.f90
    flang/test/Semantics/modfile34.f90
    flang/test/Semantics/modfile35.f90
    flang/test/Semantics/modfile36.f90
    flang/test/Semantics/modfile37.f90
    flang/test/Semantics/modfile38.f90
    flang/test/Semantics/modfile39.f90
    flang/test/Semantics/modfile40.f90
    flang/test/Semantics/namelist01.f90
    flang/test/Semantics/null-init.f90
    flang/test/Semantics/null01.f90
    flang/test/Semantics/nullify01.f90
    flang/test/Semantics/nullify02.f90
    flang/test/Semantics/num_images.f90
    flang/test/Semantics/omp-allocate-directive.f90
    flang/test/Semantics/omp-allocate01.f90
    flang/test/Semantics/omp-allocate02.f90
    flang/test/Semantics/omp-allocate03.f90
    flang/test/Semantics/omp-allocate04.f90
    flang/test/Semantics/omp-allocate05.f90
    flang/test/Semantics/omp-allocate06.f90
    flang/test/Semantics/omp-allocate07.f90
    flang/test/Semantics/omp-atomic.f90
    flang/test/Semantics/omp-atomic01.f90
    flang/test/Semantics/omp-clause-validity01.f90
    flang/test/Semantics/omp-combined-constructs.f90
    flang/test/Semantics/omp-copyin01.f90
    flang/test/Semantics/omp-copyin02.f90
    flang/test/Semantics/omp-copyin03.f90
    flang/test/Semantics/omp-copyin04.f90
    flang/test/Semantics/omp-copyin05.f90
    flang/test/Semantics/omp-copyprivate01.f90
    flang/test/Semantics/omp-copyprivate02.f90
    flang/test/Semantics/omp-copyprivate03.f90
    flang/test/Semantics/omp-declarative-directive.f90
    flang/test/Semantics/omp-default.f90
    flang/test/Semantics/omp-default02.f90
    flang/test/Semantics/omp-depend01.f90
    flang/test/Semantics/omp-depend02.f90
    flang/test/Semantics/omp-depend03.f90
    flang/test/Semantics/omp-device-constructs.f90
    flang/test/Semantics/omp-do-collapse-positivecases.f90
    flang/test/Semantics/omp-do-collapse.f90
    flang/test/Semantics/omp-do-cycle.f90
    flang/test/Semantics/omp-do-ordered-positivecases.f90
    flang/test/Semantics/omp-do-ordered.f90
    flang/test/Semantics/omp-do-schedule01.f90
    flang/test/Semantics/omp-do-schedule02.f90
    flang/test/Semantics/omp-do-schedule03.f90
    flang/test/Semantics/omp-do-schedule04.f90
    flang/test/Semantics/omp-do01-positivecase.f90
    flang/test/Semantics/omp-do01.f90
    flang/test/Semantics/omp-do03.f90
    flang/test/Semantics/omp-do04-positivecase.f90
    flang/test/Semantics/omp-do04.f90
    flang/test/Semantics/omp-do05-positivecase.f90
    flang/test/Semantics/omp-do05.f90
    flang/test/Semantics/omp-do06-positivecases.f90
    flang/test/Semantics/omp-do06.f90
    flang/test/Semantics/omp-do07.f90
    flang/test/Semantics/omp-do08.f90
    flang/test/Semantics/omp-do09.f90
    flang/test/Semantics/omp-do10.f90
    flang/test/Semantics/omp-do11.f90
    flang/test/Semantics/omp-do12.f90
    flang/test/Semantics/omp-do13.f90
    flang/test/Semantics/omp-do14.f90
    flang/test/Semantics/omp-do15.f90
    flang/test/Semantics/omp-do16.f90
    flang/test/Semantics/omp-do17.f90
    flang/test/Semantics/omp-firstprivate01.f90
    flang/test/Semantics/omp-flush01.f90
    flang/test/Semantics/omp-flush02.f90
    flang/test/Semantics/omp-invalid-branch.f90
    flang/test/Semantics/omp-lastprivate01.f90
    flang/test/Semantics/omp-lastprivate02.f90
    flang/test/Semantics/omp-linear-iter.f90
    flang/test/Semantics/omp-loop-association.f90
    flang/test/Semantics/omp-loop-simd01.f90
    flang/test/Semantics/omp-nested-distribute.f90
    flang/test/Semantics/omp-nested-master.f90
    flang/test/Semantics/omp-nested-simd.f90
    flang/test/Semantics/omp-nested01.f90
    flang/test/Semantics/omp-no-dowhile-in-parallel.f90
    flang/test/Semantics/omp-ordered-simd.f90
    flang/test/Semantics/omp-parallel-private01.f90
    flang/test/Semantics/omp-parallel-private02.f90
    flang/test/Semantics/omp-parallel-private03.f90
    flang/test/Semantics/omp-parallel-private04.f90
    flang/test/Semantics/omp-parallel-shared01.f90
    flang/test/Semantics/omp-parallel-shared02.f90
    flang/test/Semantics/omp-parallel-shared03.f90
    flang/test/Semantics/omp-parallel-shared04.f90
    flang/test/Semantics/omp-private01.f90
    flang/test/Semantics/omp-private02.f90
    flang/test/Semantics/omp-private03.f90
    flang/test/Semantics/omp-reduction01.f90
    flang/test/Semantics/omp-reduction02.f90
    flang/test/Semantics/omp-reduction03.f90
    flang/test/Semantics/omp-reduction04.f90
    flang/test/Semantics/omp-reduction05.f90
    flang/test/Semantics/omp-reduction06.f90
    flang/test/Semantics/omp-reduction07.f90
    flang/test/Semantics/omp-reduction08.f90
    flang/test/Semantics/omp-reduction09.f90
    flang/test/Semantics/omp-reduction10.f90
    flang/test/Semantics/omp-resolve01.f90
    flang/test/Semantics/omp-resolve02.f90
    flang/test/Semantics/omp-resolve03.f90
    flang/test/Semantics/omp-resolve04.f90
    flang/test/Semantics/omp-resolve05.f90
    flang/test/Semantics/omp-resolve06.f90
    flang/test/Semantics/omp-sections01.f90
    flang/test/Semantics/omp-simd-aligned.f90
    flang/test/Semantics/omp-simd02.f90
    flang/test/Semantics/omp-single01.f90
    flang/test/Semantics/omp-single02.f90
    flang/test/Semantics/omp-symbol01.f90
    flang/test/Semantics/omp-symbol02.f90
    flang/test/Semantics/omp-symbol03.f90
    flang/test/Semantics/omp-symbol04.f90
    flang/test/Semantics/omp-symbol05.f90
    flang/test/Semantics/omp-symbol06.f90
    flang/test/Semantics/omp-symbol07.f90
    flang/test/Semantics/omp-symbol08.f90
    flang/test/Semantics/omp-taskloop01.f90
    flang/test/Semantics/omp-workshare01.f90
    flang/test/Semantics/omp-workshare02.f90
    flang/test/Semantics/omp-workshare03.f90
    flang/test/Semantics/omp-workshare04.f90
    flang/test/Semantics/omp-workshare05.f90
    flang/test/Semantics/procinterface01.f90
    flang/test/Semantics/reshape.f90
    flang/test/Semantics/resolve01.f90
    flang/test/Semantics/resolve02.f90
    flang/test/Semantics/resolve03.f90
    flang/test/Semantics/resolve04.f90
    flang/test/Semantics/resolve05.f90
    flang/test/Semantics/resolve06.f90
    flang/test/Semantics/resolve07.f90
    flang/test/Semantics/resolve08.f90
    flang/test/Semantics/resolve09.f90
    flang/test/Semantics/resolve10.f90
    flang/test/Semantics/resolve101.f90
    flang/test/Semantics/resolve102.f90
    flang/test/Semantics/resolve104.f90
    flang/test/Semantics/resolve105.f90
    flang/test/Semantics/resolve11.f90
    flang/test/Semantics/resolve12.f90
    flang/test/Semantics/resolve13.f90
    flang/test/Semantics/resolve14.f90
    flang/test/Semantics/resolve15.f90
    flang/test/Semantics/resolve16.f90
    flang/test/Semantics/resolve17.f90
    flang/test/Semantics/resolve18.f90
    flang/test/Semantics/resolve19.f90
    flang/test/Semantics/resolve20.f90
    flang/test/Semantics/resolve21.f90
    flang/test/Semantics/resolve22.f90
    flang/test/Semantics/resolve23.f90
    flang/test/Semantics/resolve24.f90
    flang/test/Semantics/resolve25.f90
    flang/test/Semantics/resolve26.f90
    flang/test/Semantics/resolve27.f90
    flang/test/Semantics/resolve28.f90
    flang/test/Semantics/resolve29.f90
    flang/test/Semantics/resolve30.f90
    flang/test/Semantics/resolve31.f90
    flang/test/Semantics/resolve32.f90
    flang/test/Semantics/resolve33.f90
    flang/test/Semantics/resolve34.f90
    flang/test/Semantics/resolve35.f90
    flang/test/Semantics/resolve36.f90
    flang/test/Semantics/resolve37.f90
    flang/test/Semantics/resolve38.f90
    flang/test/Semantics/resolve39.f90
    flang/test/Semantics/resolve40.f90
    flang/test/Semantics/resolve41.f90
    flang/test/Semantics/resolve42.f90
    flang/test/Semantics/resolve43.f90
    flang/test/Semantics/resolve44.f90
    flang/test/Semantics/resolve45.f90
    flang/test/Semantics/resolve46.f90
    flang/test/Semantics/resolve47.f90
    flang/test/Semantics/resolve48.f90
    flang/test/Semantics/resolve49.f90
    flang/test/Semantics/resolve50.f90
    flang/test/Semantics/resolve51.f90
    flang/test/Semantics/resolve52.f90
    flang/test/Semantics/resolve53.f90
    flang/test/Semantics/resolve54.f90
    flang/test/Semantics/resolve55.f90
    flang/test/Semantics/resolve56.f90
    flang/test/Semantics/resolve57.f90
    flang/test/Semantics/resolve58.f90
    flang/test/Semantics/resolve59.f90
    flang/test/Semantics/resolve60.f90
    flang/test/Semantics/resolve61.f90
    flang/test/Semantics/resolve62.f90
    flang/test/Semantics/resolve63.f90
    flang/test/Semantics/resolve64.f90
    flang/test/Semantics/resolve65.f90
    flang/test/Semantics/resolve66.f90
    flang/test/Semantics/resolve67.f90
    flang/test/Semantics/resolve68.f90
    flang/test/Semantics/resolve69.f90
    flang/test/Semantics/resolve70.f90
    flang/test/Semantics/resolve71.f90
    flang/test/Semantics/resolve72.f90
    flang/test/Semantics/resolve73.f90
    flang/test/Semantics/resolve74.f90
    flang/test/Semantics/resolve75.f90
    flang/test/Semantics/resolve76.f90
    flang/test/Semantics/resolve77.f90
    flang/test/Semantics/resolve78.f90
    flang/test/Semantics/resolve79.f90
    flang/test/Semantics/resolve80.f90
    flang/test/Semantics/resolve81.f90
    flang/test/Semantics/resolve82.f90
    flang/test/Semantics/resolve83.f90
    flang/test/Semantics/resolve84.f90
    flang/test/Semantics/resolve85.f90
    flang/test/Semantics/resolve86.f90
    flang/test/Semantics/resolve87.f90
    flang/test/Semantics/resolve88.f90
    flang/test/Semantics/resolve89.f90
    flang/test/Semantics/resolve90.f90
    flang/test/Semantics/resolve91.f90
    flang/test/Semantics/resolve92.f90
    flang/test/Semantics/resolve93.f90
    flang/test/Semantics/resolve94.f90
    flang/test/Semantics/resolve95.f90
    flang/test/Semantics/resolve96.f90
    flang/test/Semantics/resolve97.f90
    flang/test/Semantics/resolve98.f90
    flang/test/Semantics/resolve99.f90
    flang/test/Semantics/save01.f90
    flang/test/Semantics/select-rank.f90
    flang/test/Semantics/select-rank02.f90
    flang/test/Semantics/selecttype01.f90
    flang/test/Semantics/selecttype02.f90
    flang/test/Semantics/selecttype03.f90
    flang/test/Semantics/separate-mp01.f90
    flang/test/Semantics/separate-mp02.f90
    flang/test/Semantics/shape.f90
    flang/test/Semantics/spec-expr.f90
    flang/test/Semantics/stop01.f90
    flang/test/Semantics/structconst01.f90
    flang/test/Semantics/structconst02.f90
    flang/test/Semantics/structconst03.f90
    flang/test/Semantics/structconst04.f90
    flang/test/Semantics/symbol01.f90
    flang/test/Semantics/symbol02.f90
    flang/test/Semantics/symbol03.f90
    flang/test/Semantics/symbol05.f90
    flang/test/Semantics/symbol06.f90
    flang/test/Semantics/symbol07.f90
    flang/test/Semantics/symbol08.f90
    flang/test/Semantics/symbol09.f90
    flang/test/Semantics/symbol10.f90
    flang/test/Semantics/symbol11.f90
    flang/test/Semantics/symbol12.f90
    flang/test/Semantics/symbol13.f90
    flang/test/Semantics/symbol14.f90
    flang/test/Semantics/symbol15.f90
    flang/test/Semantics/symbol16.f90
    flang/test/Semantics/symbol17.f90
    flang/test/Semantics/symbol18.f90
    flang/test/Semantics/symbol19.f90
    flang/test/lit.site.cfg.py.in

Removed: 
    


################################################################################
diff  --git a/flang/test/Driver/debug-parsing-log.f90 b/flang/test/Driver/debug-parsing-log.f90
index f658fa673e86a..ed47684cde2fb 100644
--- a/flang/test/Driver/debug-parsing-log.f90
+++ b/flang/test/Driver/debug-parsing-log.f90
@@ -5,23 +5,23 @@
 !-----------------
 ! Below are just few lines extracted from the dump. The actual output is much _much_ bigger.
 
-! CHECK: {{.*}}/debug-parsing-log.f90:31:1: IMPLICIT statement
+! CHECK: {{.*[/\\]}}debug-parsing-log.f90:31:1: IMPLICIT statement
 ! CHECK-NEXT:  END PROGRAM
 ! CHECK-NEXT:  ^
 ! CHECK-NEXT:  fail 3
-! CHECK-NEXT: {{.*}}/debug-parsing-log.f90:31:1: error: expected 'IMPLICIT NONE'
+! CHECK-NEXT: {{.*[/\\]}}debug-parsing-log.f90:31:1: error: expected 'IMPLICIT NONE'
 ! CHECK-NEXT:   END PROGRAM
 ! CHECK-NEXT:   ^
-! CHECK-NEXT: {{.*}}/debug-parsing-log.f90:31:1: in the context: IMPLICIT statement
+! CHECK-NEXT: {{.*[/\\]}}debug-parsing-log.f90:31:1: in the context: IMPLICIT statement
 ! CHECK-NEXT:   END PROGRAM
 ! CHECK-NEXT:   ^
-! CHECK-NEXT: {{.*}}/debug-parsing-log.f90:31:1: in the context: implicit part
+! CHECK-NEXT: {{.*[/\\]}}debug-parsing-log.f90:31:1: in the context: implicit part
 ! CHECK-NEXT:   END PROGRAM
 ! CHECK-NEXT:   ^
-! CHECK-NEXT: {{.*}}/debug-parsing-log.f90:31:1: in the context: specification part
+! CHECK-NEXT: {{.*[/\\]}}debug-parsing-log.f90:31:1: in the context: specification part
 ! CHECK-NEXT:   END PROGRAM
 ! CHECK-NEXT:   ^
-! CHECK-NEXT: {{.*}}/debug-parsing-log.f90:31:1: in the context: main program
+! CHECK-NEXT: {{.*[/\\]}}debug-parsing-log.f90:31:1: in the context: main program
 ! CHECK-NEXT:   END PROGRAM
 ! CHECK-NEXT:   ^
 

diff  --git a/flang/test/Driver/debug-provenance.f90 b/flang/test/Driver/debug-provenance.f90
index c7e79e76ade10..147be87f77721 100644
--- a/flang/test/Driver/debug-provenance.f90
+++ b/flang/test/Driver/debug-provenance.f90
@@ -13,7 +13,7 @@
 ! CHECK-NEXT:    [1..1] (1 bytes) -> compiler '?'(0x3f)
 ! CHECK-NEXT:    [2..2] (1 bytes) -> compiler ' '(0x20)
 ! CHECK-NEXT:    [3..3] (1 bytes) -> compiler '\'(0x5c)
-! CHECK-NEXT:    [{{[0-9]*}}..{{[0-9]*}}] ({{[0-9]*}} bytes) -> file {{.*}}/debug-provenance.f90
+! CHECK-NEXT:    [{{[0-9]*}}..{{[0-9]*}}] ({{[0-9]*}} bytes) -> file {{.*[/\\]}}debug-provenance.f90
 ! CHECK-NEXT:    [{{[0-9]*}}..{{[0-9]*}}] ({{[0-9]*}} bytes) -> compiler '(after end of source)'
 ! CHECK-NEXT: CookedSource::provenanceMap_:
 ! CHECK-NEXT: offsets [{{[0-9]*}}..{{[0-9]*}}] -> provenances [{{[0-9]*}}..{{[0-9]*}}] ({{[0-9]*}} bytes)

diff  --git a/flang/test/Evaluate/folding01.f90 b/flang/test/Evaluate/folding01.f90
index 2cd855cb4fba2..29708ce1195f1 100644
--- a/flang/test/Evaluate/folding01.f90
+++ b/flang/test/Evaluate/folding01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Test intrinsic operation folding
 

diff  --git a/flang/test/Evaluate/folding02.f90 b/flang/test/Evaluate/folding02.f90
index 57a19783baf34..1033c4daa97bb 100644
--- a/flang/test/Evaluate/folding02.f90
+++ b/flang/test/Evaluate/folding02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check intrinsic function folding with host runtime library
 
 module m

diff  --git a/flang/test/Evaluate/folding03.f90 b/flang/test/Evaluate/folding03.f90
index 0eaedb2944766..47fab1a490f3c 100644
--- a/flang/test/Evaluate/folding03.f90
+++ b/flang/test/Evaluate/folding03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test operation folding edge case (both expected value and messages)
 ! These tests make assumptions regarding real(4) and integer(4) extrema.
 

diff  --git a/flang/test/Evaluate/folding04.f90 b/flang/test/Evaluate/folding04.f90
index 626825d1fd1d2..54d1c385a192e 100644
--- a/flang/test/Evaluate/folding04.f90
+++ b/flang/test/Evaluate/folding04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test intrinsic function folding edge case (both expected value and messages)
 ! These tests make assumptions regarding real(4) extrema.
 

diff  --git a/flang/test/Evaluate/folding05.f90 b/flang/test/Evaluate/folding05.f90
index e7052128238d2..b5e955a4ac708 100644
Binary files a/flang/test/Evaluate/folding05.f90 and b/flang/test/Evaluate/folding05.f90 
diff er

diff  --git a/flang/test/Evaluate/folding06.f90 b/flang/test/Evaluate/folding06.f90
index 5fc0066579ec7..fe553b89d3387 100644
--- a/flang/test/Evaluate/folding06.f90
+++ b/flang/test/Evaluate/folding06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test transformational intrinsic function folding
 
 module m

diff  --git a/flang/test/Evaluate/folding07.f90 b/flang/test/Evaluate/folding07.f90
index d579c197f26ad..edee48355be68 100644
--- a/flang/test/Evaluate/folding07.f90
+++ b/flang/test/Evaluate/folding07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test numeric model inquiry intrinsics
 
 module m

diff  --git a/flang/test/Evaluate/folding08.f90 b/flang/test/Evaluate/folding08.f90
index ae9bdf589a8a4..6118e6b14cf08 100644
--- a/flang/test/Evaluate/folding08.f90
+++ b/flang/test/Evaluate/folding08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of LBOUND and UBOUND
 
 module m

diff  --git a/flang/test/Evaluate/folding09.f90 b/flang/test/Evaluate/folding09.f90
index 9819bbd2b746b..6f9be6b50bc35 100644
--- a/flang/test/Evaluate/folding09.f90
+++ b/flang/test/Evaluate/folding09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of IS_CONTIGUOUS on simply contiguous items (9.5.4)
 ! When IS_CONTIGUOUS() is constant, it's .TRUE.
 

diff  --git a/flang/test/Evaluate/folding10.f90 b/flang/test/Evaluate/folding10.f90
index fbc357dcbbddf..c705741191094 100644
--- a/flang/test/Evaluate/folding10.f90
+++ b/flang/test/Evaluate/folding10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests folding of SHAPE(TRANSFER(...))
 
 module m

diff  --git a/flang/test/Evaluate/folding11.f90 b/flang/test/Evaluate/folding11.f90
index d5003ca80a12a..4fdb0ba9aa718 100644
--- a/flang/test/Evaluate/folding11.f90
+++ b/flang/test/Evaluate/folding11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   complex, parameter :: z1 = 1. + (2., 3.)
   logical, parameter :: test_z1 = z1 == (3., 3.)

diff  --git a/flang/test/Evaluate/folding12.f90 b/flang/test/Evaluate/folding12.f90
index 94ecb2d8ff44c..ac74c6ce0e34e 100644
--- a/flang/test/Evaluate/folding12.f90
+++ b/flang/test/Evaluate/folding12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of structure constructors
 module m1
   type parent_type

diff  --git a/flang/test/Evaluate/folding13.f90 b/flang/test/Evaluate/folding13.f90
index fbc37ad36fe4c..92a300998c357 100644
--- a/flang/test/Evaluate/folding13.f90
+++ b/flang/test/Evaluate/folding13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of array constructors with constant implied DO bounds;
 ! their indices are constant expressions and can be used as such.
 module m1

diff  --git a/flang/test/Evaluate/folding14.f90 b/flang/test/Evaluate/folding14.f90
index ff1f3ab93c2f9..a76fe23fed735 100644
--- a/flang/test/Evaluate/folding14.f90
+++ b/flang/test/Evaluate/folding14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of isnan() extension
 module m1
   logical, parameter :: results(*) = isnan([ &

diff  --git a/flang/test/Evaluate/folding15.f90 b/flang/test/Evaluate/folding15.f90
index d6894666385d7..658f91f3011e0 100644
--- a/flang/test/Evaluate/folding15.f90
+++ b/flang/test/Evaluate/folding15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of array constructors with duplicate names for the implied
 ! DO variables
 module m1

diff  --git a/flang/test/Evaluate/folding16.f90 b/flang/test/Evaluate/folding16.f90
index bb3aee01059e6..a407be31e5154 100644
--- a/flang/test/Evaluate/folding16.f90
+++ b/flang/test/Evaluate/folding16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Ensure that lower bounds are accounted for in intrinsic folding;
 ! this is a regression test for a bug in which they were not
 module m

diff  --git a/flang/test/Evaluate/folding17.f90 b/flang/test/Evaluate/folding17.f90
index 2880822e1f4ea..51e42589c69ec 100644
--- a/flang/test/Evaluate/folding17.f90
+++ b/flang/test/Evaluate/folding17.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test implementations of STORAGE_SIZE() and SIZEOF() as expression rewrites
 module m1
   type :: t1

diff  --git a/flang/test/Evaluate/folding18.f90 b/flang/test/Evaluate/folding18.f90
index c9cc918e4133c..eda70041ce2ba 100644
--- a/flang/test/Evaluate/folding18.f90
+++ b/flang/test/Evaluate/folding18.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_folding.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test implementations of IEEE inquiry functions
 module m
   use ieee_arithmetic

diff  --git a/flang/test/Preprocessing/pp130.F90 b/flang/test/Preprocessing/pp130.F90
index 8066e28280e1f..fcc3b3958f7f9 100644
--- a/flang/test/Preprocessing/pp130.F90
+++ b/flang/test/Preprocessing/pp130.F90
@@ -1,4 +1,4 @@
-! RUN: (%flang -E %s 2>&1 || true) | FileCheck %s
+! RUN: not %flang -E %s 2>&1 | FileCheck %s
 ! CHECK: error: bad character ('&') in Fortran token
 ! #define KWM &, use for continuation w/o pasting (ifort and nag seem to continue #define)
 #define KWM &

diff  --git a/flang/test/Semantics/OpenACC/acc-atomic-validity.f90 b/flang/test/Semantics/OpenACC/acc-atomic-validity.f90
index 6bf6bda73d1d4..8ebac44bcca37 100644
--- a/flang/test/Semantics/OpenACC/acc-atomic-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-atomic-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index d23d43829a116..b9ca12b0e8923 100644
--- a/flang/test/Semantics/OpenACC/acc-branch.f90
+++ b/flang/test/Semantics/OpenACC/acc-branch.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index b975ced0505be..30c68ef3e1795 100644
--- a/flang/test/Semantics/OpenACC/acc-cache-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-cache-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index d2d84f55a180e..bc20aedd9b9f7 100644
--- a/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-canonicalization-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index f3fbbb7b84a98..6aa99e71e0bb9 100644
--- a/flang/test/Semantics/OpenACC/acc-data.f90
+++ b/flang/test/Semantics/OpenACC/acc-data.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 93f460cb728f6..fea97ecfe765d 100644
--- a/flang/test/Semantics/OpenACC/acc-declare-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-declare-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 5c1d3a8a06959..877f0021cc5f3 100644
--- a/flang/test/Semantics/OpenACC/acc-host-data.f90
+++ b/flang/test/Semantics/OpenACC/acc-host-data.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 7f6c89e4724d2..2b2eac51535d2 100644
--- a/flang/test/Semantics/OpenACC/acc-init-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-init-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index d526a64a2c0c1..5b3b9c205229b 100644
--- a/flang/test/Semantics/OpenACC/acc-kernels-loop.f90
+++ b/flang/test/Semantics/OpenACC/acc-kernels-loop.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 8bbb9e20ceb54..ccb128a0c9107 100644
--- a/flang/test/Semantics/OpenACC/acc-kernels.f90
+++ b/flang/test/Semantics/OpenACC/acc-kernels.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 75e292ac6ca5e..2cd71751beac8 100644
--- a/flang/test/Semantics/OpenACC/acc-loop.f90
+++ b/flang/test/Semantics/OpenACC/acc-loop.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index ee2f2fa811365..3dee14733b66e 100644
--- a/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 738274b5e1b5c..75fb14fccc229 100644
--- a/flang/test/Semantics/OpenACC/acc-parallel.f90
+++ b/flang/test/Semantics/OpenACC/acc-parallel.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 5fc153fd8848f..c55e02efd14de 100644
--- a/flang/test/Semantics/OpenACC/acc-resolve01.f90
+++ b/flang/test/Semantics/OpenACC/acc-resolve01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 7a9aff33c57fd..b4df4d15bd8a6 100644
--- a/flang/test/Semantics/OpenACC/acc-resolve02.f90
+++ b/flang/test/Semantics/OpenACC/acc-resolve02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 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
index c6bde7d4fc48f..18d90ec6f0a9d 100644
--- a/flang/test/Semantics/OpenACC/acc-routine-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-routine-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 499c9411ad84f..c088bf892e78a 100644
--- a/flang/test/Semantics/OpenACC/acc-serial-loop.f90
+++ b/flang/test/Semantics/OpenACC/acc-serial-loop.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 859be3a1e0079..2f206f5cfa342 100644
--- a/flang/test/Semantics/OpenACC/acc-serial.f90
+++ b/flang/test/Semantics/OpenACC/acc-serial.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index cd1981fdb79ee..4bc342e2f38b5 100644
--- a/flang/test/Semantics/OpenACC/acc-set-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-set-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 5e8d2851967c2..31fa3c9daf3da 100644
--- a/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! Check OpenACC clause validity for the following construct and directive:
 !   2.14.2 Shutdown

diff  --git a/flang/test/Semantics/OpenACC/acc-symbols01.f90 b/flang/test/Semantics/OpenACC/acc-symbols01.f90
index bab0aac80379f..f08317ac12bf1 100644
--- a/flang/test/Semantics/OpenACC/acc-symbols01.f90
+++ b/flang/test/Semantics/OpenACC/acc-symbols01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_symbols.sh %s %t %flang_fc1 -fopenacc
+! REQUIRES: shell
 
 !DEF: /mm MainProgram
 program mm

diff  --git a/flang/test/Semantics/OpenACC/acc-update-validity.f90 b/flang/test/Semantics/OpenACC/acc-update-validity.f90
index 9dd5d0a997095..fbf90fbbba91c 100644
--- a/flang/test/Semantics/OpenACC/acc-update-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-update-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index ca7ac1add0336..c33bcbdecadca 100644
--- a/flang/test/Semantics/OpenACC/acc-wait-validity.f90
+++ b/flang/test/Semantics/OpenACC/acc-wait-validity.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/../test_errors.sh %s %t %flang -fopenacc
+! REQUIRES: shell
 
 ! 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
index 4a6c2d08c99da..257c8750c9585 100644
--- a/flang/test/Semantics/allocate01.f90
+++ b/flang/test/Semantics/allocate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 8cc83dd30dc0e..9cf9e888450d2 100644
--- a/flang/test/Semantics/allocate02.f90
+++ b/flang/test/Semantics/allocate02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Check for semantic errors in ALLOCATE statements
 

diff  --git a/flang/test/Semantics/allocate03.f90 b/flang/test/Semantics/allocate03.f90
index ba9845f9d6a4f..c119ac675e1ce 100644
--- a/flang/test/Semantics/allocate03.f90
+++ b/flang/test/Semantics/allocate03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 8928cc7ea85b2..b881b845e2ee1 100644
--- a/flang/test/Semantics/allocate04.f90
+++ b/flang/test/Semantics/allocate04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check for semantic errors in ALLOCATE statements
 
 

diff  --git a/flang/test/Semantics/allocate05.f90 b/flang/test/Semantics/allocate05.f90
index 52fd4a393a993..b33f31606ba7e 100644
--- a/flang/test/Semantics/allocate05.f90
+++ b/flang/test/Semantics/allocate05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check for semantic errors in ALLOCATE statements
 
 

diff  --git a/flang/test/Semantics/allocate06.f90 b/flang/test/Semantics/allocate06.f90
index 6a7cf79d41d10..864f17a3c7cd7 100644
--- a/flang/test/Semantics/allocate06.f90
+++ b/flang/test/Semantics/allocate06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check for semantic errors in ALLOCATE statements
 
 

diff  --git a/flang/test/Semantics/allocate07.f90 b/flang/test/Semantics/allocate07.f90
index 70636128e0e3f..a948765deb921 100644
--- a/flang/test/Semantics/allocate07.f90
+++ b/flang/test/Semantics/allocate07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 25dc453a26a2f..9223b14aa6427 100644
--- a/flang/test/Semantics/allocate08.f90
+++ b/flang/test/Semantics/allocate08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index d351e728131eb..03531a1ad2c58 100644
--- a/flang/test/Semantics/allocate09.f90
+++ b/flang/test/Semantics/allocate09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index bb62767423e10..05c73ce8a07df 100644
--- a/flang/test/Semantics/allocate10.f90
+++ b/flang/test/Semantics/allocate10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 3807186abf88c..b07b7a18ff4c6 100644
--- a/flang/test/Semantics/allocate11.f90
+++ b/flang/test/Semantics/allocate11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 075fa6a79b577..9504142a2cc12 100644
--- a/flang/test/Semantics/allocate12.f90
+++ b/flang/test/Semantics/allocate12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 8fa2b95279fae..c939d19848ca2 100644
--- a/flang/test/Semantics/allocate13.f90
+++ b/flang/test/Semantics/allocate13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 8541287de335c..7257eb1e5551e 100644
--- a/flang/test/Semantics/altreturn01.f90
+++ b/flang/test/Semantics/altreturn01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check calls with alt returns
 
        CALL TEST (N, *100, *200 )

diff  --git a/flang/test/Semantics/altreturn02.f90 b/flang/test/Semantics/altreturn02.f90
index f3fd9e4c3af46..ad7a4f8bc0614 100644
--- a/flang/test/Semantics/altreturn02.f90
+++ b/flang/test/Semantics/altreturn02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check subroutine with alt return
 
        SUBROUTINE TEST (N, *, *)

diff  --git a/flang/test/Semantics/altreturn03.f90 b/flang/test/Semantics/altreturn03.f90
index 2f6c7f28dfacc..703d22bc0b367 100644
--- a/flang/test/Semantics/altreturn03.f90
+++ b/flang/test/Semantics/altreturn03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check for various alt return error conditions
 
        SUBROUTINE TEST (N, *, *)

diff  --git a/flang/test/Semantics/altreturn04.f90 b/flang/test/Semantics/altreturn04.f90
index 4d2e6957d6b94..116c90acab8a6 100644
--- a/flang/test/Semantics/altreturn04.f90
+++ b/flang/test/Semantics/altreturn04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Functions cannot use alt return
 
 REAL FUNCTION altreturn01(X)

diff  --git a/flang/test/Semantics/altreturn05.f90 b/flang/test/Semantics/altreturn05.f90
index aa9fb3691442f..ad4f101cc14fd 100644
--- a/flang/test/Semantics/altreturn05.f90
+++ b/flang/test/Semantics/altreturn05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test extension: RETURN from main program
 
 return !ok

diff  --git a/flang/test/Semantics/altreturn06.f90 b/flang/test/Semantics/altreturn06.f90
index 15a33b34f0a6b..4b5b606b9c36c 100644
--- a/flang/test/Semantics/altreturn06.f90
+++ b/flang/test/Semantics/altreturn06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1e8bd5dd3e1d7..0f44aa125cc83 100644
--- a/flang/test/Semantics/array-constr-big.f90
+++ b/flang/test/Semantics/array-constr-big.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index dee5810588ed5..98d90892e6207 100644
--- a/flang/test/Semantics/array-constr-values.f90
+++ b/flang/test/Semantics/array-constr-values.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 0c34c4e59c4ea..9d47a019b55e4 100644
--- a/flang/test/Semantics/assign01.f90
+++ b/flang/test/Semantics/assign01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 16e57755fbaa4..76faa6f76f2f1 100644
--- a/flang/test/Semantics/assign02.f90
+++ b/flang/test/Semantics/assign02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Pointer assignment constraints 10.2.2.2
 
 module m1

diff  --git a/flang/test/Semantics/assign03.f90 b/flang/test/Semantics/assign03.f90
index 2c60475d185bb..830f17cdb61e5 100644
--- a/flang/test/Semantics/assign03.f90
+++ b/flang/test/Semantics/assign03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 806256f9b9bcf..acc5ac8c8b156 100644
--- a/flang/test/Semantics/assign04.f90
+++ b/flang/test/Semantics/assign04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 9.4.5
 subroutine s1
   type :: t(k, l)

diff  --git a/flang/test/Semantics/assign06.f90 b/flang/test/Semantics/assign06.f90
index 12ac4e651d77a..406bf2084f9da 100644
--- a/flang/test/Semantics/assign06.f90
+++ b/flang/test/Semantics/assign06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 7ffcc4fabbc2f..980e4b6067dad 100644
--- a/flang/test/Semantics/assign07.f90
+++ b/flang/test/Semantics/assign07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e23cda56c97ed..294035dbaf28d 100644
--- a/flang/test/Semantics/associated.f90
+++ b/flang/test/Semantics/associated.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 71734cd840dff..875ef95a6dbf9 100644
--- a/flang/test/Semantics/bad-forward-type.f90
+++ b/flang/test/Semantics/bad-forward-type.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f5a0e67eee394..36726ce7dd19d 100644
--- a/flang/test/Semantics/bind-c01.f90
+++ b/flang/test/Semantics/bind-c01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index c4421b17ef406..fece75ab50c3c 100644
--- a/flang/test/Semantics/bindings01.f90
+++ b/flang/test/Semantics/bindings01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 715d6703ae89b..0a775d35a8639 100644
--- a/flang/test/Semantics/block-data01.f90
+++ b/flang/test/Semantics/block-data01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index cd07a413e64e1..a3759d2aea431 100644
--- a/flang/test/Semantics/blockconstruct01.f90
+++ b/flang/test/Semantics/blockconstruct01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 62f55576329d2..cffff31851448 100644
--- a/flang/test/Semantics/blockconstruct02.f90
+++ b/flang/test/Semantics/blockconstruct02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 14077f58451eb..84187508473b1 100644
--- a/flang/test/Semantics/blockconstruct03.f90
+++ b/flang/test/Semantics/blockconstruct03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 766466a0bd7cc..1de7c06fb4e2f 100644
--- a/flang/test/Semantics/boz-literal-constants.f90
+++ b/flang/test/Semantics/boz-literal-constants.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index adf427e967c1e..2e7bc9050d174 100644
--- a/flang/test/Semantics/c_f_pointer.f90
+++ b/flang/test/Semantics/c_f_pointer.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Enforce 18.2.3.3
 
 program test

diff  --git a/flang/test/Semantics/call01.f90 b/flang/test/Semantics/call01.f90
index 02edfc4017f23..5d6efe839e060 100644
--- a/flang/test/Semantics/call01.f90
+++ b/flang/test/Semantics/call01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 96538d68fd039..2922f5a6168d6 100644
--- a/flang/test/Semantics/call02.f90
+++ b/flang/test/Semantics/call02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 23e8dc860e54b..db2e2360382e4 100644
--- a/flang/test/Semantics/call03.f90
+++ b/flang/test/Semantics/call03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 95eb0bc58984c..eb4f78f8f541f 100644
--- a/flang/test/Semantics/call04.f90
+++ b/flang/test/Semantics/call04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 90368df8c44c3..ad512197f9a79 100644
--- a/flang/test/Semantics/call05.f90
+++ b/flang/test/Semantics/call05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index fc31903ad0433..5e2728f69a84a 100644
--- a/flang/test/Semantics/call06.f90
+++ b/flang/test/Semantics/call06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 996337f5359cf..444331fd17c4f 100644
--- a/flang/test/Semantics/call07.f90
+++ b/flang/test/Semantics/call07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 17396d4d3ba43..5da55d4e04b3e 100644
--- a/flang/test/Semantics/call08.f90
+++ b/flang/test/Semantics/call08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test 15.5.2.8 coarray dummy arguments
 
 module m

diff  --git a/flang/test/Semantics/call09.f90 b/flang/test/Semantics/call09.f90
index 8280a82853fde..6ecf07ead581e 100644
--- a/flang/test/Semantics/call09.f90
+++ b/flang/test/Semantics/call09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 5eb5f5ab3b1a9..7fa4a8075a0a3 100644
--- a/flang/test/Semantics/call10.f90
+++ b/flang/test/Semantics/call10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 55aefa6e760df..086537f3c6968 100644
--- a/flang/test/Semantics/call11.f90
+++ b/flang/test/Semantics/call11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 813cc52064039..8838366021185 100644
--- a/flang/test/Semantics/call12.f90
+++ b/flang/test/Semantics/call12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index bb589b5b064c2..47786fa9f9cd6 100644
--- a/flang/test/Semantics/call13.f90
+++ b/flang/test/Semantics/call13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index b9002048f0f5d..2bf5d53ec56da 100644
--- a/flang/test/Semantics/call14.f90
+++ b/flang/test/Semantics/call14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 9879f7336f449..c236ef060bf73 100644
--- a/flang/test/Semantics/call15.f90
+++ b/flang/test/Semantics/call15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 944e04cd7d83a..12cab97efcf07 100644
--- a/flang/test/Semantics/call16.f90
+++ b/flang/test/Semantics/call16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index 9bf7dc6057e7a..ae10ea9c94d94 100644
--- a/flang/test/Semantics/call18.f90
+++ b/flang/test/Semantics/call18.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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/case01.f90 b/flang/test/Semantics/case01.f90
index 05e27eb084e1a..e863b71d7332a 100644
--- a/flang/test/Semantics/case01.f90
+++ b/flang/test/Semantics/case01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 32c4592479d0d..b074c9b990703 100644
--- a/flang/test/Semantics/coarrays01.f90
+++ b/flang/test/Semantics/coarrays01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test selector and team-value in CHANGE TEAM statement
 
 ! OK

diff  --git a/flang/test/Semantics/complex01.f90 b/flang/test/Semantics/complex01.f90
index 48c6830875fbc..cf7fd9cc2b1fb 100644
--- a/flang/test/Semantics/complex01.f90
+++ b/flang/test/Semantics/complex01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e8ac2ff7e395b..321d6a1c5c7f7 100644
--- a/flang/test/Semantics/computed-goto01.f90
+++ b/flang/test/Semantics/computed-goto01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 409281f60ab7e..a51e53663b22f 100644
--- a/flang/test/Semantics/computed-goto02.f90
+++ b/flang/test/Semantics/computed-goto02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 0caf051a77aef..90e8a6e78a875 100644
--- a/flang/test/Semantics/critical01.f90
+++ b/flang/test/Semantics/critical01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !C1117
 
 subroutine test1(a, i)

diff  --git a/flang/test/Semantics/critical02.f90 b/flang/test/Semantics/critical02.f90
index 0e18aecd9a829..f7822b7f15688 100644
--- a/flang/test/Semantics/critical02.f90
+++ b/flang/test/Semantics/critical02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !C1118
 
 subroutine test1

diff  --git a/flang/test/Semantics/critical03.f90 b/flang/test/Semantics/critical03.f90
index 852d2083f562c..0683a842d8315 100644
--- a/flang/test/Semantics/critical03.f90
+++ b/flang/test/Semantics/critical03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !C1119
 
 subroutine test1(a, i)

diff  --git a/flang/test/Semantics/data01.f90 b/flang/test/Semantics/data01.f90
index 7ea0139f36cee..635e7c53e2fdc 100644
--- a/flang/test/Semantics/data01.f90
+++ b/flang/test/Semantics/data01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index 492006fe2f430..eb4d801f6972a 100644
--- a/flang/test/Semantics/data02.f90
+++ b/flang/test/Semantics/data02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check that expressions are analyzed in data statements
 
 subroutine s1

diff  --git a/flang/test/Semantics/data03.f90 b/flang/test/Semantics/data03.f90
index 5a5f9dcc163b3..e4ad9956ef86b 100644
--- a/flang/test/Semantics/data03.f90
+++ b/flang/test/Semantics/data03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index 7cfa5ac1f17c8..d69c8d384a38e 100644
--- a/flang/test/Semantics/data04.f90
+++ b/flang/test/Semantics/data04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !Testing data constraints : C876, C877
 module m
   integer :: first

diff  --git a/flang/test/Semantics/data06.f90 b/flang/test/Semantics/data06.f90
index 84d875ef9f019..953da87e97819 100644
--- a/flang/test/Semantics/data06.f90
+++ b/flang/test/Semantics/data06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! DATA statement errors
 subroutine s1
   type :: t1

diff  --git a/flang/test/Semantics/data07.f90 b/flang/test/Semantics/data07.f90
index abf875387e7e4..0bf08a964fe34 100644
--- a/flang/test/Semantics/data07.f90
+++ b/flang/test/Semantics/data07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
  contains
   subroutine s1

diff  --git a/flang/test/Semantics/data10.f90 b/flang/test/Semantics/data10.f90
index ab0e12fd13b32..af541fccdccc9 100644
--- a/flang/test/Semantics/data10.f90
+++ b/flang/test/Semantics/data10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 type :: t
   integer :: n
 end type

diff  --git a/flang/test/Semantics/deallocate01.f90 b/flang/test/Semantics/deallocate01.f90
index 5e1af734e698c..95fe128e6cb87 100644
--- a/flang/test/Semantics/deallocate01.f90
+++ b/flang/test/Semantics/deallocate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test that DEALLOCATE works
 
 INTEGER, PARAMETER :: maxvalue=1024

diff  --git a/flang/test/Semantics/deallocate04.f90 b/flang/test/Semantics/deallocate04.f90
index 8e26f61d3508e..43786dfa11bb7 100644
--- a/flang/test/Semantics/deallocate04.f90
+++ b/flang/test/Semantics/deallocate04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 418c6079a64ac..e065f07ab689a 100644
--- a/flang/test/Semantics/deallocate05.f90
+++ b/flang/test/Semantics/deallocate05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check for semantic errors in DEALLOCATE statements
 
 Module share

diff  --git a/flang/test/Semantics/deallocate06.f90 b/flang/test/Semantics/deallocate06.f90
index 28d8d69210cd7..360091ea8de0d 100644
--- a/flang/test/Semantics/deallocate06.f90
+++ b/flang/test/Semantics/deallocate06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Test deallocate of use- and host-associated variables
 module m1

diff  --git a/flang/test/Semantics/doconcurrent01.f90 b/flang/test/Semantics/doconcurrent01.f90
index ac4be8a6143b1..67294fc76a4db 100644
--- a/flang/test/Semantics/doconcurrent01.f90
+++ b/flang/test/Semantics/doconcurrent01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4ee4ba2040bac..c8961abbcc71e 100644
--- a/flang/test/Semantics/doconcurrent05.f90
+++ b/flang/test/Semantics/doconcurrent05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e3a8b7a3f07b2..0a990a55e08bb 100644
--- a/flang/test/Semantics/doconcurrent06.f90
+++ b/flang/test/Semantics/doconcurrent06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1d2e5e9e15839..214a93178324d 100644
--- a/flang/test/Semantics/doconcurrent08.f90
+++ b/flang/test/Semantics/doconcurrent08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f4da0c2f5ab48..ec5375ff549b0 100644
--- a/flang/test/Semantics/dosemantics01.f90
+++ b/flang/test/Semantics/dosemantics01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! C1131 -- check valid and invalid DO loop naming
 
 PROGRAM C1131

diff  --git a/flang/test/Semantics/dosemantics02.f90 b/flang/test/Semantics/dosemantics02.f90
index 7873f3597cb07..a4c0ce1f5fddb 100644
--- a/flang/test/Semantics/dosemantics02.f90
+++ b/flang/test/Semantics/dosemantics02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 51097f6a9be59..5aedfcbc41f2d 100644
--- a/flang/test/Semantics/dosemantics03.f90
+++ b/flang/test/Semantics/dosemantics03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -pedantic -Werror
+! REQUIRES: shell
 
 ! 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
index fb3af04243b23..6c3cdb8594fec 100644
--- a/flang/test/Semantics/dosemantics04.f90
+++ b/flang/test/Semantics/dosemantics04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 38af52ce07e52..ff1b23092cf91 100644
--- a/flang/test/Semantics/dosemantics05.f90
+++ b/flang/test/Semantics/dosemantics05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f315b0798bbd4..8059b4f9651b6 100644
--- a/flang/test/Semantics/dosemantics06.f90
+++ b/flang/test/Semantics/dosemantics06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1c1ecb7665dcd..be1bb9f770524 100644
--- a/flang/test/Semantics/dosemantics07.f90
+++ b/flang/test/Semantics/dosemantics07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index 1ceee99d1ed86..005f65b82908d 100644
--- a/flang/test/Semantics/dosemantics08.f90
+++ b/flang/test/Semantics/dosemantics08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 933e8b19265a2..4f2c5bf180400 100644
--- a/flang/test/Semantics/dosemantics09.f90
+++ b/flang/test/Semantics/dosemantics09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index 5ba1bb58ee561..a17f82723b6db 100644
--- a/flang/test/Semantics/dosemantics10.f90
+++ b/flang/test/Semantics/dosemantics10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4d241498f7223..e6ab9ebf3f1a3 100644
--- a/flang/test/Semantics/dosemantics11.f90
+++ b/flang/test/Semantics/dosemantics11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index ed516975f26ca..40bb23126f3da 100644
--- a/flang/test/Semantics/dosemantics12.f90
+++ b/flang/test/Semantics/dosemantics12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 3ef5433c71cac..5189389f0f944 100644
--- a/flang/test/Semantics/entry01.f90
+++ b/flang/test/Semantics/entry01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests valid and invalid ENTRY statements
 
 module m1

diff  --git a/flang/test/Semantics/equivalence01.f90 b/flang/test/Semantics/equivalence01.f90
index 5508e02e55134..bab563d7f007c 100644
--- a/flang/test/Semantics/equivalence01.f90
+++ b/flang/test/Semantics/equivalence01.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1
   integer i, j
   real r(2)

diff  --git a/flang/test/Semantics/expr-errors01.f90 b/flang/test/Semantics/expr-errors01.f90
index f34a1c725dee0..31aa92c26c52f 100644
--- a/flang/test/Semantics/expr-errors01.f90
+++ b/flang/test/Semantics/expr-errors01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 6c838fdb33015..0008765886810 100644
--- a/flang/test/Semantics/expr-errors02.f90
+++ b/flang/test/Semantics/expr-errors02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test specification expressions
 
 module m

diff  --git a/flang/test/Semantics/expr-errors03.f90 b/flang/test/Semantics/expr-errors03.f90
index 55ebf26febb07..6db03a4cbeaaa 100644
--- a/flang/test/Semantics/expr-errors03.f90
+++ b/flang/test/Semantics/expr-errors03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Regression test for subscript error recovery
 module m
   implicit none

diff  --git a/flang/test/Semantics/final01.f90 b/flang/test/Semantics/final01.f90
index bde9bcbf00d0f..71d031af37a00 100644
--- a/flang/test/Semantics/final01.f90
+++ b/flang/test/Semantics/final01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test FINAL subroutine constraints C786-C789
 module m1
   external :: external

diff  --git a/flang/test/Semantics/forall01.f90 b/flang/test/Semantics/forall01.f90
index 59d69cf04486a..97db40850c030 100644
--- a/flang/test/Semantics/forall01.f90
+++ b/flang/test/Semantics/forall01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 6206f4e554111..b7b039915606d 100644
--- a/flang/test/Semantics/if_arith01.f90
+++ b/flang/test/Semantics/if_arith01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 20f447a8961c4..95af99978dc5f 100644
--- a/flang/test/Semantics/if_arith02.f90
+++ b/flang/test/Semantics/if_arith02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4da057ea560ea..7b55e38df253b 100644
--- a/flang/test/Semantics/if_arith03.f90
+++ b/flang/test/Semantics/if_arith03.f90
@@ -1,5 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
-
+! REQUIRES: shell
 
 !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
index 5065713f42581..067031af9c44a 100644
--- a/flang/test/Semantics/if_arith04.f90
+++ b/flang/test/Semantics/if_arith04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 450cd6715442b..9fb1344ff259d 100644
--- a/flang/test/Semantics/if_construct01.f90
+++ b/flang/test/Semantics/if_construct01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index a1cf683380eb2..03fd433f75f7f 100644
--- a/flang/test/Semantics/if_construct02.f90
+++ b/flang/test/Semantics/if_construct02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 07c2878dc9cb6..64d0b41cea549 100644
--- a/flang/test/Semantics/if_stmt01.f90
+++ b/flang/test/Semantics/if_stmt01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 848210988e090..cb9abe58d1c63 100644
--- a/flang/test/Semantics/if_stmt02.f90
+++ b/flang/test/Semantics/if_stmt02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index acd67a9036ff7..3d012477389ec 100644
--- a/flang/test/Semantics/if_stmt03.f90
+++ b/flang/test/Semantics/if_stmt03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 3c848b8ea2b61..2ed9e71437c1d 100644
--- a/flang/test/Semantics/implicit01.f90
+++ b/flang/test/Semantics/implicit01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 168d77907ef4b..a5f2df1309860 100644
--- a/flang/test/Semantics/implicit02.f90
+++ b/flang/test/Semantics/implicit02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 91e60b61d1d53..0f2aa6ad2de3d 100644
--- a/flang/test/Semantics/implicit03.f90
+++ b/flang/test/Semantics/implicit03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 3fb20b22f13d7..fcc438786b5f1 100644
--- a/flang/test/Semantics/implicit04.f90
+++ b/flang/test/Semantics/implicit04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index eaa7116eed2a7..e5b52812f43ab 100644
--- a/flang/test/Semantics/implicit05.f90
+++ b/flang/test/Semantics/implicit05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 64053afd656fe..11a2e82638d75 100644
--- a/flang/test/Semantics/implicit06.f90
+++ b/flang/test/Semantics/implicit06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 2eb491eb83460..4a6eadbbf3df1 100644
--- a/flang/test/Semantics/implicit07.f90
+++ b/flang/test/Semantics/implicit07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 implicit none(external)
 external x
 integer :: f, i

diff  --git a/flang/test/Semantics/implicit08.f90 b/flang/test/Semantics/implicit08.f90
index ba75db8645e2c..a4984132d565f 100644
--- a/flang/test/Semantics/implicit08.f90
+++ b/flang/test/Semantics/implicit08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 21bb9ace797cf..bda24f6f81b0a 100644
--- a/flang/test/Semantics/implicit09.f90
+++ b/flang/test/Semantics/implicit09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fimplicit-none-type-never
+! REQUIRES: shell
 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
index 84edfb3cf9667..c1ef7b1f83a69 100644
--- a/flang/test/Semantics/implicit10.f90
+++ b/flang/test/Semantics/implicit10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fimplicit-none
+! REQUIRES: shell
 
 !ERROR: No explicit type declared for 'f'
 function f()

diff  --git a/flang/test/Semantics/implicit11.f90 b/flang/test/Semantics/implicit11.f90
index 9598db972c018..0a52e1ac9d26f 100644
--- a/flang/test/Semantics/implicit11.f90
+++ b/flang/test/Semantics/implicit11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Test use of implicitly declared variable in specification expression
 

diff  --git a/flang/test/Semantics/init01.f90 b/flang/test/Semantics/init01.f90
index 8e99c491970e2..89b2c41a99c0b 100644
--- a/flang/test/Semantics/init01.f90
+++ b/flang/test/Semantics/init01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Initializer error tests
 
 subroutine objectpointers(j)

diff  --git a/flang/test/Semantics/int-literals.f90 b/flang/test/Semantics/int-literals.f90
index a0951acefeda7..09d0914f1eef1 100644
--- a/flang/test/Semantics/int-literals.f90
+++ b/flang/test/Semantics/int-literals.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e5a0b23a97ef0..14cdd1c980c53 100644
--- a/flang/test/Semantics/io01.f90
+++ b/flang/test/Semantics/io01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index f818a74f240a1..3ff06cc15a8a3 100644
--- a/flang/test/Semantics/io02.f90
+++ b/flang/test/Semantics/io02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index a2071e3192974..69f591493ac7f 100644
--- a/flang/test/Semantics/io03.f90
+++ b/flang/test/Semantics/io03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index 67feda835186f..e7baa54c0c117 100644
--- a/flang/test/Semantics/io04.f90
+++ b/flang/test/Semantics/io04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index 9a7885330a1d6..ad80f93ec0161 100644
--- a/flang/test/Semantics/io05.f90
+++ b/flang/test/Semantics/io05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index be073191e7d70..e9068630e08e3 100644
--- a/flang/test/Semantics/io06.f90
+++ b/flang/test/Semantics/io06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   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
index fbb54ffd38101..121eff8ae9c81 100644
--- a/flang/test/Semantics/io07.f90
+++ b/flang/test/Semantics/io07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 1001 format(A)
 
      !ERROR: Format statement must be labeled

diff  --git a/flang/test/Semantics/io08.f90 b/flang/test/Semantics/io08.f90
index 7496f32b1447a..7c9f924e26f96 100644
--- a/flang/test/Semantics/io08.f90
+++ b/flang/test/Semantics/io08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   write(*,*)
   write(*,'()')
   write(*,'(A)')

diff  --git a/flang/test/Semantics/io09.f90 b/flang/test/Semantics/io09.f90
index 6b331776e88d3..c9b1948ad79b2 100644
--- a/flang/test/Semantics/io09.f90
+++ b/flang/test/Semantics/io09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
   !ERROR: String edit descriptor in READ format expression
   read(*,'("abc")')
 

diff  --git a/flang/test/Semantics/io10.f90 b/flang/test/Semantics/io10.f90
index e037b6ebdf3e7..6322073b94ea8 100644
--- a/flang/test/Semantics/io10.f90
+++ b/flang/test/Semantics/io10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -pedantic
+! REQUIRES: shell
 
   write(*, '(B0)')
   write(*, '(B3)')

diff  --git a/flang/test/Semantics/io11.f90 b/flang/test/Semantics/io11.f90
index a20b51fdcb39f..4de8b52bdebbc 100644
--- a/flang/test/Semantics/io11.f90
+++ b/flang/test/Semantics/io11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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/kinds01.f90 b/flang/test/Semantics/kinds01.f90
index 89a69cf503035..ef6edfb683195 100644
--- a/flang/test/Semantics/kinds01.f90
+++ b/flang/test/Semantics/kinds01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
  !DEF: /MainProgram1/jk1 ObjectEntity INTEGER(1)
  integer(kind=1) jk1
  !DEF: /MainProgram1/js1 ObjectEntity INTEGER(1)

diff  --git a/flang/test/Semantics/kinds02.f90 b/flang/test/Semantics/kinds02.f90
index e5f930025a72d..46cd6ebcc2911 100644
--- a/flang/test/Semantics/kinds02.f90
+++ b/flang/test/Semantics/kinds02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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/kinds03.f90 b/flang/test/Semantics/kinds03.f90
index 9554e8757781f..cd81b28ab2381 100644
--- a/flang/test/Semantics/kinds03.f90
+++ b/flang/test/Semantics/kinds03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
  !DEF: /MainProgram1/ipdt DerivedType
  !DEF: /MainProgram1/ipdt/k TypeParam INTEGER(4)
  type :: ipdt(k)

diff  --git a/flang/test/Semantics/kinds04.f90 b/flang/test/Semantics/kinds04.f90
index e87ec671a690d..f03126d98b0a7 100644
--- a/flang/test/Semantics/kinds04.f90
+++ b/flang/test/Semantics/kinds04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index c1902f31765b7..6c45edc251f2d 100644
--- a/flang/test/Semantics/label11.f90
+++ b/flang/test/Semantics/label11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 71afeee56ac82..f6cb3d49f38f9 100644
--- a/flang/test/Semantics/label16.f90
+++ b/flang/test/Semantics/label16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 subroutine x(n)
    call x1(n)

diff  --git a/flang/test/Semantics/misc-declarations.f90 b/flang/test/Semantics/misc-declarations.f90
index 564e211b09f7e..081a497afa0a8 100644
--- a/flang/test/Semantics/misc-declarations.f90
+++ b/flang/test/Semantics/misc-declarations.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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/missing_newline.f90 b/flang/test/Semantics/missing_newline.f90
index bca90652112d3..7261ac824bedb 100644
--- a/flang/test/Semantics/missing_newline.f90
+++ b/flang/test/Semantics/missing_newline.f90
@@ -2,3 +2,4 @@
 ! RUN: %flang_fc1 -fsyntax-only %t.f90
 ! RUN: echo -ne "\rend program" > %t.f90
 ! RUN: %flang_fc1 -fsyntax-only %t.f90
+! REQUIRES: shell

diff  --git a/flang/test/Semantics/modfile01.f90 b/flang/test/Semantics/modfile01.f90
index dc1ecbc069476..6316399477d03 100644
--- a/flang/test/Semantics/modfile01.f90
+++ b/flang/test/Semantics/modfile01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check correct modfile generation for type with private component.
 module m
   integer :: i

diff  --git a/flang/test/Semantics/modfile02.f90 b/flang/test/Semantics/modfile02.f90
index 8532370f1f6aa..b48f7e28d7902 100644
--- a/flang/test/Semantics/modfile02.f90
+++ b/flang/test/Semantics/modfile02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check modfile generation for private type in public API.
 
 module m

diff  --git a/flang/test/Semantics/modfile03.f90 b/flang/test/Semantics/modfile03.f90
index c602e9d9532c9..0d15e09087b1d 100644
--- a/flang/test/Semantics/modfile03.f90
+++ b/flang/test/Semantics/modfile03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check modfile generation with use-association.
 
 module m1

diff  --git a/flang/test/Semantics/modfile04.f90 b/flang/test/Semantics/modfile04.f90
index 72858c9745608..8cd60978b750f 100644
--- a/flang/test/Semantics/modfile04.f90
+++ b/flang/test/Semantics/modfile04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! modfile with subprograms
 
 module m1

diff  --git a/flang/test/Semantics/modfile05.f90 b/flang/test/Semantics/modfile05.f90
index d3fff34df450c..da81866d4f597 100644
--- a/flang/test/Semantics/modfile05.f90
+++ b/flang/test/Semantics/modfile05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Use-association with VOLATILE or ASYNCHRONOUS
 
 module m1

diff  --git a/flang/test/Semantics/modfile06.f90 b/flang/test/Semantics/modfile06.f90
index 0f47d6877cf2b..8a3373afc41cd 100644
--- a/flang/test/Semantics/modfile06.f90
+++ b/flang/test/Semantics/modfile06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check modfile generation for external interface
 module m
   interface

diff  --git a/flang/test/Semantics/modfile07.f90 b/flang/test/Semantics/modfile07.f90
index df5b4b820344e..c1100f04f80bb 100644
--- a/flang/test/Semantics/modfile07.f90
+++ b/flang/test/Semantics/modfile07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check modfile generation for generic interfaces
 module m1
   interface foo

diff  --git a/flang/test/Semantics/modfile08.f90 b/flang/test/Semantics/modfile08.f90
index 3fa3be04413bb..d5bd3a20225a9 100644
--- a/flang/test/Semantics/modfile08.f90
+++ b/flang/test/Semantics/modfile08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check modfile generation for external declarations
 module m
   real, external :: a

diff  --git a/flang/test/Semantics/modfile09.f90 b/flang/test/Semantics/modfile09.f90
index eb8ea3de9c875..b0893c4c32a27 100644
--- a/flang/test/Semantics/modfile09.f90
+++ b/flang/test/Semantics/modfile09.f90
@@ -1 +1,2 @@
 !RUN: %S/test_modfile.sh '%S/Inputs/modfile09-*' %t %flang_fc1
+!REQUIRES: shell

diff  --git a/flang/test/Semantics/modfile10.f90 b/flang/test/Semantics/modfile10.f90
index d5eb7eee07e96..857b9c96d8857 100644
--- a/flang/test/Semantics/modfile10.f90
+++ b/flang/test/Semantics/modfile10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test writing procedure bindings in a derived type.
 
 module m

diff  --git a/flang/test/Semantics/modfile11.f90 b/flang/test/Semantics/modfile11.f90
index e347a1620eea0..ecb49e0e38107 100644
--- a/flang/test/Semantics/modfile11.f90
+++ b/flang/test/Semantics/modfile11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   type t1(a, b, c)
     integer, kind :: a

diff  --git a/flang/test/Semantics/modfile12.f90 b/flang/test/Semantics/modfile12.f90
index 6171e893ca27b..1a662c6e4da4d 100644
--- a/flang/test/Semantics/modfile12.f90
+++ b/flang/test/Semantics/modfile12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   integer(8), parameter :: a = 1, b = 2_8
   parameter(n=3,l=-3,e=1.0/3.0)

diff  --git a/flang/test/Semantics/modfile13.f90 b/flang/test/Semantics/modfile13.f90
index f3882ce1004da..0d0de2370b11d 100644
--- a/flang/test/Semantics/modfile13.f90
+++ b/flang/test/Semantics/modfile13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   character(2) :: z
   character(len=3) :: y

diff  --git a/flang/test/Semantics/modfile14.f90 b/flang/test/Semantics/modfile14.f90
index 0f8c375a0f379..87c07eab36a1e 100644
--- a/flang/test/Semantics/modfile14.f90
+++ b/flang/test/Semantics/modfile14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   type t1
   contains

diff  --git a/flang/test/Semantics/modfile15.f90 b/flang/test/Semantics/modfile15.f90
index 1ea58f0810983..fdf0e55f855de 100644
--- a/flang/test/Semantics/modfile15.f90
+++ b/flang/test/Semantics/modfile15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   type :: t
     procedure(a), pointer, pass :: c

diff  --git a/flang/test/Semantics/modfile16.f90 b/flang/test/Semantics/modfile16.f90
index 8b51f1bf407ee..8acb8a6a7b73b 100644
--- a/flang/test/Semantics/modfile16.f90
+++ b/flang/test/Semantics/modfile16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   character(2), parameter :: prefix = 'c_'
   integer, bind(c, name='c_a') :: a

diff  --git a/flang/test/Semantics/modfile17.f90 b/flang/test/Semantics/modfile17.f90
index 1cae92f632202..c15765e8aa01a 100644
--- a/flang/test/Semantics/modfile17.f90
+++ b/flang/test/Semantics/modfile17.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests parameterized derived type instantiation with KIND parameters
 
 module m

diff  --git a/flang/test/Semantics/modfile18.f90 b/flang/test/Semantics/modfile18.f90
index c85f47841f4cd..0fcb90d260a13 100644
--- a/flang/test/Semantics/modfile18.f90
+++ b/flang/test/Semantics/modfile18.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests folding of array constructors
 
 module m

diff  --git a/flang/test/Semantics/modfile19.f90 b/flang/test/Semantics/modfile19.f90
index 41185ac5f4247..6507b34808fe3 100644
--- a/flang/test/Semantics/modfile19.f90
+++ b/flang/test/Semantics/modfile19.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   implicit complex(8)(z)
   real :: x

diff  --git a/flang/test/Semantics/modfile20.f90 b/flang/test/Semantics/modfile20.f90
index 44ac419330d18..127618a13819e 100644
--- a/flang/test/Semantics/modfile20.f90
+++ b/flang/test/Semantics/modfile20.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test modfiles for entities with initialization
 module m
   integer, parameter :: k8 = 8

diff  --git a/flang/test/Semantics/modfile21.f90 b/flang/test/Semantics/modfile21.f90
index 87fdc9b831daa..886f5bd945a05 100644
--- a/flang/test/Semantics/modfile21.f90
+++ b/flang/test/Semantics/modfile21.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   logical b
   bind(C) :: /cb2/

diff  --git a/flang/test/Semantics/modfile22.f90 b/flang/test/Semantics/modfile22.f90
index 5b76445e6dda6..73efdb65afa3b 100644
--- a/flang/test/Semantics/modfile22.f90
+++ b/flang/test/Semantics/modfile22.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test character length conversions in constructors
 
 module m

diff  --git a/flang/test/Semantics/modfile23.f90 b/flang/test/Semantics/modfile23.f90
index 25ca61eca234c..46cec24a77f3f 100644
--- a/flang/test/Semantics/modfile23.f90
+++ b/flang/test/Semantics/modfile23.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test that subprogram interfaces get all of the symbols that they need.
 
 module m1

diff  --git a/flang/test/Semantics/modfile24.f90 b/flang/test/Semantics/modfile24.f90
index f51f3d8775d2e..46b1ced84c8af 100644
--- a/flang/test/Semantics/modfile24.f90
+++ b/flang/test/Semantics/modfile24.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test declarations with coarray-spec
 
 ! Different ways of declaring the same coarray.

diff  --git a/flang/test/Semantics/modfile25.f90 b/flang/test/Semantics/modfile25.f90
index 6f8c156cb9d5a..f17fd22d78d2d 100644
--- a/flang/test/Semantics/modfile25.f90
+++ b/flang/test/Semantics/modfile25.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test compile-time analysis of shapes.
 
 module m1

diff  --git a/flang/test/Semantics/modfile26.f90 b/flang/test/Semantics/modfile26.f90
index 196c3565190de..28eeeb8d49cd6 100644
--- a/flang/test/Semantics/modfile26.f90
+++ b/flang/test/Semantics/modfile26.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Intrinsics SELECTED_INT_KIND, SELECTED_REAL_KIND, PRECISION, RANGE,
 ! RADIX, DIGITS
 

diff  --git a/flang/test/Semantics/modfile27.f90 b/flang/test/Semantics/modfile27.f90
index 87a3e4a3b0347..db3adc1b34e1a 100644
--- a/flang/test/Semantics/modfile27.f90
+++ b/flang/test/Semantics/modfile27.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test folding of combined array references and structure component
 ! references.
 

diff  --git a/flang/test/Semantics/modfile28.f90 b/flang/test/Semantics/modfile28.f90
index 59c0b8748c79b..aa6eb36c6adb8 100644
--- a/flang/test/Semantics/modfile28.f90
+++ b/flang/test/Semantics/modfile28.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Test UTF-8 support in character literals
 ! Note: Module files are encoded in UTF-8.

diff  --git a/flang/test/Semantics/modfile29.f90 b/flang/test/Semantics/modfile29.f90
index e0898759ee6df..c7d8038500dfe 100644
--- a/flang/test/Semantics/modfile29.f90
+++ b/flang/test/Semantics/modfile29.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Check that implicitly typed entities get a type in the module file.
 
 module m

diff  --git a/flang/test/Semantics/modfile30.f90 b/flang/test/Semantics/modfile30.f90
index 97161f44340da..8681f356087f2 100644
--- a/flang/test/Semantics/modfile30.f90
+++ b/flang/test/Semantics/modfile30.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Verify miscellaneous bugs
 
 ! The function result must be declared after the dummy arguments

diff  --git a/flang/test/Semantics/modfile31.f90 b/flang/test/Semantics/modfile31.f90
index 3dca7ad94899a..f37f2ffbc95bf 100644
--- a/flang/test/Semantics/modfile31.f90
+++ b/flang/test/Semantics/modfile31.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test 7.6 enum values
 
 module m1

diff  --git a/flang/test/Semantics/modfile32.f90 b/flang/test/Semantics/modfile32.f90
index b2013bc5205e9..9586b91bd363c 100644
--- a/flang/test/Semantics/modfile32.f90
+++ b/flang/test/Semantics/modfile32.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Resolution of generic names in expressions.
 ! Test by using generic function in a specification expression that needs
 ! to be written to a .mod file.

diff  --git a/flang/test/Semantics/modfile33.f90 b/flang/test/Semantics/modfile33.f90
index 5925778d51753..69145ce0f0c41 100644
--- a/flang/test/Semantics/modfile33.f90
+++ b/flang/test/Semantics/modfile33.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1 -flogical-abbreviations -fxor-operator
+! REQUIRES: shell
 
 ! Resolution of user-defined operators in expressions.
 ! Test by using generic function in a specification expression that needs

diff  --git a/flang/test/Semantics/modfile34.f90 b/flang/test/Semantics/modfile34.f90
index 717c135e4da8a..b035662a93d23 100644
--- a/flang/test/Semantics/modfile34.f90
+++ b/flang/test/Semantics/modfile34.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test resolution of type-bound generics.
 
 module m1

diff  --git a/flang/test/Semantics/modfile35.f90 b/flang/test/Semantics/modfile35.f90
index 89a7acf06c62b..207eee002a65f 100644
--- a/flang/test/Semantics/modfile35.f90
+++ b/flang/test/Semantics/modfile35.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   type :: t1
   contains

diff  --git a/flang/test/Semantics/modfile36.f90 b/flang/test/Semantics/modfile36.f90
index 86d134943ffe7..c4dd89b64a062 100644
--- a/flang/test/Semantics/modfile36.f90
+++ b/flang/test/Semantics/modfile36.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Check modfile that contains import of use-assocation of another use-association.
 

diff  --git a/flang/test/Semantics/modfile37.f90 b/flang/test/Semantics/modfile37.f90
index 22742532ad5e5..6da1ab9f4ac58 100644
--- a/flang/test/Semantics/modfile37.f90
+++ b/flang/test/Semantics/modfile37.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Ensure that a dummy procedure's interface's imports
 ! appear in the module file.

diff  --git a/flang/test/Semantics/modfile38.f90 b/flang/test/Semantics/modfile38.f90
index dde0ea97a5759..d40074360f6e7 100644
--- a/flang/test/Semantics/modfile38.f90
+++ b/flang/test/Semantics/modfile38.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Ensure that an interface with the same name as a derived type
 ! does not cause that shadowed name to be emitted later than its

diff  --git a/flang/test/Semantics/modfile39.f90 b/flang/test/Semantics/modfile39.f90
index 6489cc843754e..9638ec535e535 100644
--- a/flang/test/Semantics/modfile39.f90
+++ b/flang/test/Semantics/modfile39.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Resolution of specification expression references to generic interfaces
 ! that resolve to private specific functions.
 

diff  --git a/flang/test/Semantics/modfile40.f90 b/flang/test/Semantics/modfile40.f90
index a4825ffed1fb1..6f3a4dcf85962 100644
--- a/flang/test/Semantics/modfile40.f90
+++ b/flang/test/Semantics/modfile40.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_modfile.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Ensure that intrinsics in module files retain their 'private' attribute,
 ! if they are private.
 

diff  --git a/flang/test/Semantics/namelist01.f90 b/flang/test/Semantics/namelist01.f90
index a3f0683bb5491..d52e5dbd62d66 100644
--- a/flang/test/Semantics/namelist01.f90
+++ b/flang/test/Semantics/namelist01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 46bb04c380b78..d5ed4d12f8094 100644
--- a/flang/test/Semantics/null-init.f90
+++ b/flang/test/Semantics/null-init.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests valid and invalid NULL initializers
 
 module m1

diff  --git a/flang/test/Semantics/null01.f90 b/flang/test/Semantics/null01.f90
index 7c2af0b288ce4..65af2d91a988a 100644
--- a/flang/test/Semantics/null01.f90
+++ b/flang/test/Semantics/null01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! NULL() intrinsic function error tests
 
 subroutine test

diff  --git a/flang/test/Semantics/nullify01.f90 b/flang/test/Semantics/nullify01.f90
index 0940410a1c9aa..3fdf5d4fead0a 100644
--- a/flang/test/Semantics/nullify01.f90
+++ b/flang/test/Semantics/nullify01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test that NULLIFY works
 
 Module share

diff  --git a/flang/test/Semantics/nullify02.f90 b/flang/test/Semantics/nullify02.f90
index 9700e3f05faec..bccc1740cebc3 100644
--- a/flang/test/Semantics/nullify02.f90
+++ b/flang/test/Semantics/nullify02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 260d819b7807a..f77fc83f714f0 100644
--- a/flang/test/Semantics/num_images.f90
+++ b/flang/test/Semantics/num_images.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 5904188e34e95..4eb1669a35e88 100644
--- a/flang/test/Semantics/omp-allocate-directive.f90
+++ b/flang/test/Semantics/omp-allocate-directive.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! Check OpenMP Allocate directive
 use omp_lib
 

diff  --git a/flang/test/Semantics/omp-allocate01.f90 b/flang/test/Semantics/omp-allocate01.f90
index 6531879c67411..73d37013c2e92 100644
--- a/flang/test/Semantics/omp-allocate01.f90
+++ b/flang/test/Semantics/omp-allocate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 0e3120698dcc4..1abc7b5781861 100644
--- a/flang/test/Semantics/omp-allocate02.f90
+++ b/flang/test/Semantics/omp-allocate02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 4b423876d0fd6..8d3c0cca494a7 100644
--- a/flang/test/Semantics/omp-allocate03.f90
+++ b/flang/test/Semantics/omp-allocate03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index cf0c5be604dd1..9f5e0caaaf041 100644
--- a/flang/test/Semantics/omp-allocate04.f90
+++ b/flang/test/Semantics/omp-allocate04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 1d493ba051305..f128358ab39af 100644
--- a/flang/test/Semantics/omp-allocate05.f90
+++ b/flang/test/Semantics/omp-allocate05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index a6f8d6633d791..aa75d47b9acf8 100644
--- a/flang/test/Semantics/omp-allocate06.f90
+++ b/flang/test/Semantics/omp-allocate06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index b8125152b2e9b..2c791280fd716 100644
--- a/flang/test/Semantics/omp-allocate07.f90
+++ b/flang/test/Semantics/omp-allocate07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-atomic.f90 b/flang/test/Semantics/omp-atomic.f90
index da1d585823555..6fc500ca3fd8e 100644
--- a/flang/test/Semantics/omp-atomic.f90
+++ b/flang/test/Semantics/omp-atomic.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 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
index 7a61b5132df04..8a8fa4211314d 100644
--- a/flang/test/Semantics/omp-atomic01.f90
+++ b/flang/test/Semantics/omp-atomic01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index a2de8e7206602..fe0bcf8f4e854 100644
--- a/flang/test/Semantics/omp-clause-validity01.f90
+++ b/flang/test/Semantics/omp-clause-validity01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 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
index 48d4683f20feb..c43713083e875 100644
--- a/flang/test/Semantics/omp-combined-constructs.f90
+++ b/flang/test/Semantics/omp-combined-constructs.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 program main
   implicit none

diff  --git a/flang/test/Semantics/omp-copyin01.f90 b/flang/test/Semantics/omp-copyin01.f90
index 4f665cbafc790..389e0f7c8f5f0 100644
--- a/flang/test/Semantics/omp-copyin01.f90
+++ b/flang/test/Semantics/omp-copyin01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 289ed14a1c383..f1d02ff030a31 100644
--- a/flang/test/Semantics/omp-copyin02.f90
+++ b/flang/test/Semantics/omp-copyin02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index be8638a70f8c1..2d856c769feb1 100644
--- a/flang/test/Semantics/omp-copyin03.f90
+++ b/flang/test/Semantics/omp-copyin03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 4432cf2887221..c73c62816b1ff 100644
--- a/flang/test/Semantics/omp-copyin04.f90
+++ b/flang/test/Semantics/omp-copyin04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 72e346f8a7f50..5d05a92d0cabd 100644
--- a/flang/test/Semantics/omp-copyin05.f90
+++ b/flang/test/Semantics/omp-copyin05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index cbdc89f96933f..75c9d4aacc891 100644
--- a/flang/test/Semantics/omp-copyprivate01.f90
+++ b/flang/test/Semantics/omp-copyprivate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 3fc3dcbd52e83..fe62eae473e1b 100644
--- a/flang/test/Semantics/omp-copyprivate02.f90
+++ b/flang/test/Semantics/omp-copyprivate02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 0b0de025cf9c4..b19e69795b985 100644
--- a/flang/test/Semantics/omp-copyprivate03.f90
+++ b/flang/test/Semantics/omp-copyprivate03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 5ad56a590c2f6..dca3d897bb7b0 100644
--- a/flang/test/Semantics/omp-declarative-directive.f90
+++ b/flang/test/Semantics/omp-declarative-directive.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! Check OpenMP declarative directives
 

diff  --git a/flang/test/Semantics/omp-default.f90 b/flang/test/Semantics/omp-default.f90
index 4189ca6036930..5955a3a5facd1 100644
--- a/flang/test/Semantics/omp-default.f90
+++ b/flang/test/Semantics/omp-default.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 001551e435eb3..b95e673ed34c3 100644
--- a/flang/test/Semantics/omp-default02.f90
+++ b/flang/test/Semantics/omp-default02.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index f8e159239b8aa..bb420563ed36b 100644
--- a/flang/test/Semantics/omp-depend01.f90
+++ b/flang/test/Semantics/omp-depend01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 9bc710410d9ed..aa30da4278037 100644
--- a/flang/test/Semantics/omp-depend02.f90
+++ b/flang/test/Semantics/omp-depend02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index d4b228f7e92bb..68cff43b53d53 100644
--- a/flang/test/Semantics/omp-depend03.f90
+++ b/flang/test/Semantics/omp-depend03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 1db7bfd19d73e..301b102b2ca7a 100644
--- a/flang/test/Semantics/omp-device-constructs.f90
+++ b/flang/test/Semantics/omp-device-constructs.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 0c09013c6547b..3959a3579c93d 100644
--- a/flang/test/Semantics/omp-do-collapse-positivecases.f90
+++ b/flang/test/Semantics/omp-do-collapse-positivecases.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index aa010884c6dad..c2af35b189bdd 100644
--- a/flang/test/Semantics/omp-do-collapse.f90
+++ b/flang/test/Semantics/omp-do-collapse.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 0d9cf52e6f5ae..f3bc7bf29c221 100644
--- a/flang/test/Semantics/omp-do-cycle.f90
+++ b/flang/test/Semantics/omp-do-cycle.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 751e6954dc3ec..bb571bb79daca 100644
--- a/flang/test/Semantics/omp-do-ordered-positivecases.f90
+++ b/flang/test/Semantics/omp-do-ordered-positivecases.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 04967cf317465..adcfa693caa7d 100644
--- a/flang/test/Semantics/omp-do-ordered.f90
+++ b/flang/test/Semantics/omp-do-ordered.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 598877f1ea94b..f513e5f98f831 100644
--- a/flang/test/Semantics/omp-do-schedule01.f90
+++ b/flang/test/Semantics/omp-do-schedule01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 3699d3401e87c..6272f749ff13d 100644
--- a/flang/test/Semantics/omp-do-schedule02.f90
+++ b/flang/test/Semantics/omp-do-schedule02.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Schedule Clause
 program omp_doSchedule

diff  --git a/flang/test/Semantics/omp-do-schedule03.f90 b/flang/test/Semantics/omp-do-schedule03.f90
index dd14aa90c93b5..1f7445497c062 100644
--- a/flang/test/Semantics/omp-do-schedule03.f90
+++ b/flang/test/Semantics/omp-do-schedule03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Schedule Clause
 ! Test that does not catch non constant integer expressions like xx - xx.

diff  --git a/flang/test/Semantics/omp-do-schedule04.f90 b/flang/test/Semantics/omp-do-schedule04.f90
index 6226c6eeac9eb..b3fcd65720ef1 100644
--- a/flang/test/Semantics/omp-do-schedule04.f90
+++ b/flang/test/Semantics/omp-do-schedule04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Schedule Clause
 ! Test that does not catch non constant integer expressions like xx - yy.

diff  --git a/flang/test/Semantics/omp-do01-positivecase.f90 b/flang/test/Semantics/omp-do01-positivecase.f90
index 43eebbcce7da4..f77104d11a952 100644
--- a/flang/test/Semantics/omp-do01-positivecase.f90
+++ b/flang/test/Semantics/omp-do01-positivecase.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-do01.f90 b/flang/test/Semantics/omp-do01.f90
index ce9d5e684f973..deb0d506ef545 100644
--- a/flang/test/Semantics/omp-do01.f90
+++ b/flang/test/Semantics/omp-do01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index f1fcc9ea17932..67002e924dac8 100644
--- a/flang/test/Semantics/omp-do03.f90
+++ b/flang/test/Semantics/omp-do03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct

diff  --git a/flang/test/Semantics/omp-do04-positivecase.f90 b/flang/test/Semantics/omp-do04-positivecase.f90
index c6e7147545d60..c9ef67752d8b8 100644
--- a/flang/test/Semantics/omp-do04-positivecase.f90
+++ b/flang/test/Semantics/omp-do04-positivecase.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Do Loop Constructs
 

diff  --git a/flang/test/Semantics/omp-do04.f90 b/flang/test/Semantics/omp-do04.f90
index 511bdc51f42d4..41709dd6d2a3c 100644
--- a/flang/test/Semantics/omp-do04.f90
+++ b/flang/test/Semantics/omp-do04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-positivecase.f90 b/flang/test/Semantics/omp-do05-positivecase.f90
index c186b3a1edbee..1886da987cc81 100644
--- a/flang/test/Semantics/omp-do05-positivecase.f90
+++ b/flang/test/Semantics/omp-do05-positivecase.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct restrictions on single directive.
 ! A positive case

diff  --git a/flang/test/Semantics/omp-do05.f90 b/flang/test/Semantics/omp-do05.f90
index fb9281c4d946d..3bf76707ddf35 100644
--- a/flang/test/Semantics/omp-do05.f90
+++ b/flang/test/Semantics/omp-do05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct restrictions on single directive.
 

diff  --git a/flang/test/Semantics/omp-do06-positivecases.f90 b/flang/test/Semantics/omp-do06-positivecases.f90
index 418ddedbe05db..5cb8268dc6373 100644
--- a/flang/test/Semantics/omp-do06-positivecases.f90
+++ b/flang/test/Semantics/omp-do06-positivecases.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-do06.f90 b/flang/test/Semantics/omp-do06.f90
index d687679047519..f39b0cd319255 100644
--- a/flang/test/Semantics/omp-do06.f90
+++ b/flang/test/Semantics/omp-do06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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-do07.f90 b/flang/test/Semantics/omp-do07.f90
index 5b3eb28c17e7f..44fe5f86045ac 100644
--- a/flang/test/Semantics/omp-do07.f90
+++ b/flang/test/Semantics/omp-do07.f90
@@ -1,4 +1,5 @@
 ! RUN: not %flang -fsyntax-only -fopenmp %s 2>&1 | FileCheck %s
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct
 ! No statement in the associated loops other than the DO statements

diff  --git a/flang/test/Semantics/omp-do08.f90 b/flang/test/Semantics/omp-do08.f90
index 3ec7ac30b2432..65e94df67dea2 100644
--- a/flang/test/Semantics/omp-do08.f90
+++ b/flang/test/Semantics/omp-do08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 147b1790ab9d0..2c781da17693b 100644
--- a/flang/test/Semantics/omp-do09.f90
+++ b/flang/test/Semantics/omp-do09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 4cb644ea9262f..0c61de2b95900 100644
--- a/flang/test/Semantics/omp-do10.f90
+++ b/flang/test/Semantics/omp-do10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-do11.f90 b/flang/test/Semantics/omp-do11.f90
index 5ed097f05aebc..f5e800058d226 100644
--- a/flang/test/Semantics/omp-do11.f90
+++ b/flang/test/Semantics/omp-do11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Do Loop Constructs
 

diff  --git a/flang/test/Semantics/omp-do12.f90 b/flang/test/Semantics/omp-do12.f90
index 05614e36e15d8..264eb15df8cad 100644
--- a/flang/test/Semantics/omp-do12.f90
+++ b/flang/test/Semantics/omp-do12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Do Loop constructs.
 

diff  --git a/flang/test/Semantics/omp-do13.f90 b/flang/test/Semantics/omp-do13.f90
index b1081e9ac26d0..6e3ac626360c5 100644
--- a/flang/test/Semantics/omp-do13.f90
+++ b/flang/test/Semantics/omp-do13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct
 

diff  --git a/flang/test/Semantics/omp-do14.f90 b/flang/test/Semantics/omp-do14.f90
index 3eef90ee5ef5b..f49a29f8e9aa9 100644
--- a/flang/test/Semantics/omp-do14.f90
+++ b/flang/test/Semantics/omp-do14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Do Loop constructs.
 

diff  --git a/flang/test/Semantics/omp-do15.f90 b/flang/test/Semantics/omp-do15.f90
index 6862ba3fe1c52..4cdc2bd914718 100644
--- a/flang/test/Semantics/omp-do15.f90
+++ b/flang/test/Semantics/omp-do15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 80807ec0b2788..2af5ed454cf93 100644
--- a/flang/test/Semantics/omp-do16.f90
+++ b/flang/test/Semantics/omp-do16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Loop Construct
 

diff  --git a/flang/test/Semantics/omp-do17.f90 b/flang/test/Semantics/omp-do17.f90
index 89b3386b0381a..fb23176309b50 100644
--- a/flang/test/Semantics/omp-do17.f90
+++ b/flang/test/Semantics/omp-do17.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.1 Do Loop constructs.
 

diff  --git a/flang/test/Semantics/omp-firstprivate01.f90 b/flang/test/Semantics/omp-firstprivate01.f90
index 4eb1e47bce237..d03cfc253c22f 100644
--- a/flang/test/Semantics/omp-firstprivate01.f90
+++ b/flang/test/Semantics/omp-firstprivate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index b189642feb691..03b0268083187 100644
--- a/flang/test/Semantics/omp-flush01.f90
+++ b/flang/test/Semantics/omp-flush01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 705019f69855c..b9602def87253 100644
--- a/flang/test/Semantics/omp-flush02.f90
+++ b/flang/test/Semantics/omp-flush02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! Check OpenMP 5.0 - 2.17.8 flush Construct
 ! Restriction -

diff  --git a/flang/test/Semantics/omp-invalid-branch.f90 b/flang/test/Semantics/omp-invalid-branch.f90
index 535a89fa51f52..ed9e4d268f65a 100644
--- a/flang/test/Semantics/omp-invalid-branch.f90
+++ b/flang/test/Semantics/omp-invalid-branch.f90
@@ -1,4 +1,5 @@
 ! RUN: not %flang -fsyntax-only -fopenmp %s 2>&1 | FileCheck %s
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! Check invalid branches into or out of OpenMP structured blocks.
 

diff  --git a/flang/test/Semantics/omp-lastprivate01.f90 b/flang/test/Semantics/omp-lastprivate01.f90
index f69f041f5e6c2..e9a4be6730b82 100644
--- a/flang/test/Semantics/omp-lastprivate01.f90
+++ b/flang/test/Semantics/omp-lastprivate01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 1d2c0890e7697..b17031875884d 100644
--- a/flang/test/Semantics/omp-lastprivate02.f90
+++ b/flang/test/Semantics/omp-lastprivate02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index c8932d32a55fd..bb9dbcb4fae40 100644
--- a/flang/test/Semantics/omp-linear-iter.f90
+++ b/flang/test/Semantics/omp-linear-iter.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index ef04073c3df23..5e7dce6241359 100644
--- a/flang/test/Semantics/omp-loop-association.f90
+++ b/flang/test/Semantics/omp-loop-association.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 202e27556c999..09d812a0403ee 100644
--- a/flang/test/Semantics/omp-loop-simd01.f90
+++ b/flang/test/Semantics/omp-loop-simd01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! OpenMP Version 4.5
 ! 2.8.3 Loop simd Construct

diff  --git a/flang/test/Semantics/omp-nested-distribute.f90 b/flang/test/Semantics/omp-nested-distribute.f90
index 873dc6b554d19..92a121659f202 100644
--- a/flang/test/Semantics/omp-nested-distribute.f90
+++ b/flang/test/Semantics/omp-nested-distribute.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 7353127532d81..cb391d568ba20 100644
--- a/flang/test/Semantics/omp-nested-master.f90
+++ b/flang/test/Semantics/omp-nested-master.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index b17614cce45f3..1b5bb9c5cceeb 100644
--- a/flang/test/Semantics/omp-nested-simd.f90
+++ b/flang/test/Semantics/omp-nested-simd.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! Various checks with the nesting of SIMD construct
 

diff  --git a/flang/test/Semantics/omp-nested01.f90 b/flang/test/Semantics/omp-nested01.f90
index 010b5fd4ade70..a24a99ff1a902 100644
--- a/flang/test/Semantics/omp-nested01.f90
+++ b/flang/test/Semantics/omp-nested01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index bb66c8435bcb8..b5bf947a76a65 100644
--- a/flang/test/Semantics/omp-no-dowhile-in-parallel.f90
+++ b/flang/test/Semantics/omp-no-dowhile-in-parallel.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 subroutine bug48308(x,i)
   real :: x(:)

diff  --git a/flang/test/Semantics/omp-ordered-simd.f90 b/flang/test/Semantics/omp-ordered-simd.f90
index 753ff7816fc86..84ff7407e5c9d 100644
--- a/flang/test/Semantics/omp-ordered-simd.f90
+++ b/flang/test/Semantics/omp-ordered-simd.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index c05a7307a4420..504b32250656a 100644
--- a/flang/test/Semantics/omp-parallel-private01.f90
+++ b/flang/test/Semantics/omp-parallel-private01.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 4fb8df36d9a42..f1bfeb5fc1a16 100644
--- a/flang/test/Semantics/omp-parallel-private02.f90
+++ b/flang/test/Semantics/omp-parallel-private02.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 60af823b4f1dc..c76ce169f7f4e 100644
--- a/flang/test/Semantics/omp-parallel-private03.f90
+++ b/flang/test/Semantics/omp-parallel-private03.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index d14b51c1fb954..1b4bed568f5ed 100644
--- a/flang/test/Semantics/omp-parallel-private04.f90
+++ b/flang/test/Semantics/omp-parallel-private04.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index a35b68b5eb59d..e5e3004f5f4cb 100644
--- a/flang/test/Semantics/omp-parallel-shared01.f90
+++ b/flang/test/Semantics/omp-parallel-shared01.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 332faa831124a..e91e47fbc87a2 100644
--- a/flang/test/Semantics/omp-parallel-shared02.f90
+++ b/flang/test/Semantics/omp-parallel-shared02.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index e9b42587597f3..48465f08422f5 100644
--- a/flang/test/Semantics/omp-parallel-shared03.f90
+++ b/flang/test/Semantics/omp-parallel-shared03.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index b2ca559cc5475..cb63e45cd5cf2 100644
--- a/flang/test/Semantics/omp-parallel-shared04.f90
+++ b/flang/test/Semantics/omp-parallel-shared04.f90
@@ -1,4 +1,5 @@
 !RUN: %S/test_errors.sh %s %t %flang -fopenmp
+!REQUIRES: shell
 ! 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
index 64c7c5bcac0d9..32887def09e6d 100644
--- a/flang/test/Semantics/omp-private01.f90
+++ b/flang/test/Semantics/omp-private01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 0ff49c32c0ed7..db8c733cf9b36 100644
--- a/flang/test/Semantics/omp-private02.f90
+++ b/flang/test/Semantics/omp-private02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 61b35ec344f32..addca116a5b58 100644
--- a/flang/test/Semantics/omp-private03.f90
+++ b/flang/test/Semantics/omp-private03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index d58e1fa9f7ece..b7793b9a3ae96 100644
--- a/flang/test/Semantics/omp-reduction01.f90
+++ b/flang/test/Semantics/omp-reduction01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 1806e35dfaf9d..8cac4fb9f07c8 100644
--- a/flang/test/Semantics/omp-reduction02.f90
+++ b/flang/test/Semantics/omp-reduction02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 08dca8c051ae7..0019d44fc1e18 100644
--- a/flang/test/Semantics/omp-reduction03.f90
+++ b/flang/test/Semantics/omp-reduction03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index aed5b65040c10..75ff094cff26f 100644
--- a/flang/test/Semantics/omp-reduction04.f90
+++ b/flang/test/Semantics/omp-reduction04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index cd58f7c45f8f0..1e1f7f13ead97 100644
--- a/flang/test/Semantics/omp-reduction05.f90
+++ b/flang/test/Semantics/omp-reduction05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index e8ca1a5cb5b2a..6b71bd620133f 100644
--- a/flang/test/Semantics/omp-reduction06.f90
+++ b/flang/test/Semantics/omp-reduction06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 9cf79210de336..e1f1d86d61366 100644
--- a/flang/test/Semantics/omp-reduction07.f90
+++ b/flang/test/Semantics/omp-reduction07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.15.3.6 Reduction Clause
 program omp_reduction

diff  --git a/flang/test/Semantics/omp-reduction08.f90 b/flang/test/Semantics/omp-reduction08.f90
index cb64750a969bf..1e6c56d62d675 100644
--- a/flang/test/Semantics/omp-reduction08.f90
+++ b/flang/test/Semantics/omp-reduction08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.15.3.6 Reduction Clause Positive cases
 

diff  --git a/flang/test/Semantics/omp-reduction09.f90 b/flang/test/Semantics/omp-reduction09.f90
index 1a215f6ca0757..e93699f596f1f 100644
--- a/flang/test/Semantics/omp-reduction09.f90
+++ b/flang/test/Semantics/omp-reduction09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.15.3.6 Reduction Clause Positive cases.
 !DEF: /omp_reduction MainProgram

diff  --git a/flang/test/Semantics/omp-reduction10.f90 b/flang/test/Semantics/omp-reduction10.f90
index ba8c6a0f8de55..9c733dadbc655 100644
--- a/flang/test/Semantics/omp-reduction10.f90
+++ b/flang/test/Semantics/omp-reduction10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 04a0f1b04dfc1..daa558265d72f 100644
--- a/flang/test/Semantics/omp-resolve01.f90
+++ b/flang/test/Semantics/omp-resolve01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index b5cd5b4c94312..f16c51afdf37d 100644
--- a/flang/test/Semantics/omp-resolve02.f90
+++ b/flang/test/Semantics/omp-resolve02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 71648a2025b45..6efb70d2d3d12 100644
--- a/flang/test/Semantics/omp-resolve03.f90
+++ b/flang/test/Semantics/omp-resolve03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 1e1c35b9ee035..60822761bc810 100644
--- a/flang/test/Semantics/omp-resolve04.f90
+++ b/flang/test/Semantics/omp-resolve04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index f1e7903d2d63e..580f8a14c81e3 100644
--- a/flang/test/Semantics/omp-resolve05.f90
+++ b/flang/test/Semantics/omp-resolve05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 543a438ae2208..87191b659bdb5 100644
--- a/flang/test/Semantics/omp-resolve06.f90
+++ b/flang/test/Semantics/omp-resolve06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 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
index e2db71aecf5f4..0a40337685ee0 100644
--- a/flang/test/Semantics/omp-sections01.f90
+++ b/flang/test/Semantics/omp-sections01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 5626608114d53..f4424aa5c46e9 100644
--- a/flang/test/Semantics/omp-simd-aligned.f90
+++ b/flang/test/Semantics/omp-simd-aligned.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 09f1c36af3416..dcaed43fb2ffc 100644
--- a/flang/test/Semantics/omp-simd02.f90
+++ b/flang/test/Semantics/omp-simd02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 
 ! 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
index 7abc0a2c1b3cc..07b827bba2b52 100644
--- a/flang/test/Semantics/omp-single01.f90
+++ b/flang/test/Semantics/omp-single01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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
index 04a1cc2f6a078..e39ce2538e3cd 100644
--- a/flang/test/Semantics/omp-single02.f90
+++ b/flang/test/Semantics/omp-single02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 ! 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-symbol01.f90 b/flang/test/Semantics/omp-symbol01.f90
index 0246ed84dacc8..377af74ea54e5 100644
--- a/flang/test/Semantics/omp-symbol01.f90
+++ b/flang/test/Semantics/omp-symbol01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! Test clauses that accept list.
 ! 2.1 Directive Format

diff  --git a/flang/test/Semantics/omp-symbol02.f90 b/flang/test/Semantics/omp-symbol02.f90
index f838146968e78..35047015c4e32 100644
--- a/flang/test/Semantics/omp-symbol02.f90
+++ b/flang/test/Semantics/omp-symbol02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 1.4.1 Structure of the OpenMP Memory Model
 

diff  --git a/flang/test/Semantics/omp-symbol03.f90 b/flang/test/Semantics/omp-symbol03.f90
index 38e30a4f7a574..33dfe27582bbe 100644
--- a/flang/test/Semantics/omp-symbol03.f90
+++ b/flang/test/Semantics/omp-symbol03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 1.4.1 Structure of the OpenMP Memory Model
 ! In the inner OpenMP region, SHARED `a` refers to the `a` in the outer OpenMP

diff  --git a/flang/test/Semantics/omp-symbol04.f90 b/flang/test/Semantics/omp-symbol04.f90
index 673e11d17875a..0f18b8b595d43 100644
--- a/flang/test/Semantics/omp-symbol04.f90
+++ b/flang/test/Semantics/omp-symbol04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 2.15.3 Data-Sharing Attribute Clauses
 ! Both PARALLEL and DO (worksharing) directives need to create new scope,

diff  --git a/flang/test/Semantics/omp-symbol05.f90 b/flang/test/Semantics/omp-symbol05.f90
index 7ca28de5566c5..50e1d91cb91a6 100644
--- a/flang/test/Semantics/omp-symbol05.f90
+++ b/flang/test/Semantics/omp-symbol05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 2.15.2 threadprivate Directive
 ! The threadprivate directive specifies that variables are replicated,

diff  --git a/flang/test/Semantics/omp-symbol06.f90 b/flang/test/Semantics/omp-symbol06.f90
index 14a652e2c1417..5a8325d9a096a 100644
--- a/flang/test/Semantics/omp-symbol06.f90
+++ b/flang/test/Semantics/omp-symbol06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 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-symbol07.f90 b/flang/test/Semantics/omp-symbol07.f90
index eef7caafafcbd..f333e572fe2d1 100644
--- a/flang/test/Semantics/omp-symbol07.f90
+++ b/flang/test/Semantics/omp-symbol07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! Generic tests
 !   1. subroutine or function calls should not be fixed for DSA or DMA

diff  --git a/flang/test/Semantics/omp-symbol08.f90 b/flang/test/Semantics/omp-symbol08.f90
index 61ea5c3e8a4df..4fd01e718fd52 100644
--- a/flang/test/Semantics/omp-symbol08.f90
+++ b/flang/test/Semantics/omp-symbol08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1 -fopenmp
+! REQUIRES: shell
 
 ! 2.15.1.1 Predetermined rules for associated do-loops index variable
 !   a) The loop iteration variable(s) in the associated do-loop(s) of a do,

diff  --git a/flang/test/Semantics/omp-taskloop01.f90 b/flang/test/Semantics/omp-taskloop01.f90
index c3870047b8eda..699d4c9087cd0 100644
--- a/flang/test/Semantics/omp-taskloop01.f90
+++ b/flang/test/Semantics/omp-taskloop01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 2f8a48b613d21..0b6a3a1cdf496 100644
--- a/flang/test/Semantics/omp-workshare01.f90
+++ b/flang/test/Semantics/omp-workshare01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 14402e1faff66..996c384303fb7 100644
--- a/flang/test/Semantics/omp-workshare02.f90
+++ b/flang/test/Semantics/omp-workshare02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index be7586f90ac3f..1c6e00d5d8321 100644
--- a/flang/test/Semantics/omp-workshare03.f90
+++ b/flang/test/Semantics/omp-workshare03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index ab8ec039a01c6..745dc9f4d49a6 100644
--- a/flang/test/Semantics/omp-workshare04.f90
+++ b/flang/test/Semantics/omp-workshare04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! 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
index 372df32a5a558..5f731193e45e3 100644
--- a/flang/test/Semantics/omp-workshare05.f90
+++ b/flang/test/Semantics/omp-workshare05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -fopenmp
+! REQUIRES: shell
 ! OpenMP Version 4.5
 ! 2.7.4 workshare Construct
 ! Checks for OpenMP Parallel constructs enclosed in Workshare constructs

diff  --git a/flang/test/Semantics/procinterface01.f90 b/flang/test/Semantics/procinterface01.f90
index 63c83afa67fa9..3e794b1270084 100644
--- a/flang/test/Semantics/procinterface01.f90
+++ b/flang/test/Semantics/procinterface01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Tests for "proc-interface" semantics.
 ! These cases are all valid.
 

diff  --git a/flang/test/Semantics/reshape.f90 b/flang/test/Semantics/reshape.f90
index 6fee2fdd90780..4077e72209895 100644
--- a/flang/test/Semantics/reshape.f90
+++ b/flang/test/Semantics/reshape.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 !Tests for RESHAPE
 program reshaper

diff  --git a/flang/test/Semantics/resolve01.f90 b/flang/test/Semantics/resolve01.f90
index a29a0e09025f3..09066a2ab91a3 100644
--- a/flang/test/Semantics/resolve01.f90
+++ b/flang/test/Semantics/resolve01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 8df7c1d9a9305..a66e8b59da2c6 100644
--- a/flang/test/Semantics/resolve02.f90
+++ b/flang/test/Semantics/resolve02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index d14fb79f9e4a2..4fbc6164a71c4 100644
--- a/flang/test/Semantics/resolve03.f90
+++ b/flang/test/Semantics/resolve03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 53f1bed227ca1..3bcd614811dc5 100644
--- a/flang/test/Semantics/resolve04.f90
+++ b/flang/test/Semantics/resolve04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 !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
index 365ae715bd922..34c88a7b7a73d 100644
--- a/flang/test/Semantics/resolve05.f90
+++ b/flang/test/Semantics/resolve05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 program p
   integer :: p ! this is ok
 end

diff  --git a/flang/test/Semantics/resolve06.f90 b/flang/test/Semantics/resolve06.f90
index e2dfecaf5fbc3..b2a385b05b3fa 100644
--- a/flang/test/Semantics/resolve06.f90
+++ b/flang/test/Semantics/resolve06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 implicit none
 allocatable :: x
 integer :: x

diff  --git a/flang/test/Semantics/resolve07.f90 b/flang/test/Semantics/resolve07.f90
index 5c1722415b921..e5dda5b28c063 100644
--- a/flang/test/Semantics/resolve07.f90
+++ b/flang/test/Semantics/resolve07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index abe25030ef51b..2a7f68d07c9f6 100644
--- a/flang/test/Semantics/resolve08.f90
+++ b/flang/test/Semantics/resolve08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index acb9df4759711..e92eaf7fde509 100644
--- a/flang/test/Semantics/resolve09.f90
+++ b/flang/test/Semantics/resolve09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 integer :: y
 procedure() :: a
 procedure(real) :: b

diff  --git a/flang/test/Semantics/resolve10.f90 b/flang/test/Semantics/resolve10.f90
index 5d00f7e9494f5..740195d228ddc 100644
--- a/flang/test/Semantics/resolve10.f90
+++ b/flang/test/Semantics/resolve10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   public
   type t

diff  --git a/flang/test/Semantics/resolve101.f90 b/flang/test/Semantics/resolve101.f90
index 0c9964f4895b0..359807e3155b3 100644
--- a/flang/test/Semantics/resolve101.f90
+++ b/flang/test/Semantics/resolve101.f90
@@ -1,4 +1,6 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
+
 ! Ensure that spurious errors do not arise from FinishSpecificationPart
 ! checking on a nested specification part.
 real, save :: x

diff  --git a/flang/test/Semantics/resolve102.f90 b/flang/test/Semantics/resolve102.f90
index 6b2a794976875..aae461d108d81 100644
--- a/flang/test/Semantics/resolve102.f90
+++ b/flang/test/Semantics/resolve102.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index 90449daeb20b3..48fe9653c821e 100644
--- a/flang/test/Semantics/resolve104.f90
+++ b/flang/test/Semantics/resolve104.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 5402452511648..2e2feb8d80d5a 100644
--- a/flang/test/Semantics/resolve105.f90
+++ b/flang/test/Semantics/resolve105.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test instantiation of components that are procedure pointers.
 ! 
 program test

diff  --git a/flang/test/Semantics/resolve11.f90 b/flang/test/Semantics/resolve11.f90
index 0cfd9f2ca594d..ec967279c12f1 100644
--- a/flang/test/Semantics/resolve11.f90
+++ b/flang/test/Semantics/resolve11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   public i
   integer, private :: j

diff  --git a/flang/test/Semantics/resolve12.f90 b/flang/test/Semantics/resolve12.f90
index a66d22d1aab6d..a04d7e6dd1575 100644
--- a/flang/test/Semantics/resolve12.f90
+++ b/flang/test/Semantics/resolve12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
 end
 

diff  --git a/flang/test/Semantics/resolve13.f90 b/flang/test/Semantics/resolve13.f90
index b3b6c94165d2b..a5647d0d417ab 100644
--- a/flang/test/Semantics/resolve13.f90
+++ b/flang/test/Semantics/resolve13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   integer :: x
   integer, private :: y

diff  --git a/flang/test/Semantics/resolve14.f90 b/flang/test/Semantics/resolve14.f90
index c0ac4e1e49659..c69b4d6681815 100644
--- a/flang/test/Semantics/resolve14.f90
+++ b/flang/test/Semantics/resolve14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   integer :: x
   integer :: y

diff  --git a/flang/test/Semantics/resolve15.f90 b/flang/test/Semantics/resolve15.f90
index b7a3e8023cecb..f3bc8befd351f 100644
--- a/flang/test/Semantics/resolve15.f90
+++ b/flang/test/Semantics/resolve15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   real :: var
   interface i

diff  --git a/flang/test/Semantics/resolve16.f90 b/flang/test/Semantics/resolve16.f90
index f60e41f41d677..775af3876def7 100644
--- a/flang/test/Semantics/resolve16.f90
+++ b/flang/test/Semantics/resolve16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   interface
     subroutine sub0

diff  --git a/flang/test/Semantics/resolve17.f90 b/flang/test/Semantics/resolve17.f90
index 425cc00146246..064340d1b7617 100644
--- a/flang/test/Semantics/resolve17.f90
+++ b/flang/test/Semantics/resolve17.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 76632b9d53596..c917a68f92d24 100644
--- a/flang/test/Semantics/resolve18.f90
+++ b/flang/test/Semantics/resolve18.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   implicit none
 contains

diff  --git a/flang/test/Semantics/resolve19.f90 b/flang/test/Semantics/resolve19.f90
index 75f143dde53a5..7f2252ef7e9b5 100644
--- a/flang/test/Semantics/resolve19.f90
+++ b/flang/test/Semantics/resolve19.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   interface a
     subroutine s(x)

diff  --git a/flang/test/Semantics/resolve20.f90 b/flang/test/Semantics/resolve20.f90
index 2bb78c660e34a..6908aeb575a58 100644
--- a/flang/test/Semantics/resolve20.f90
+++ b/flang/test/Semantics/resolve20.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   abstract interface
     subroutine foo

diff  --git a/flang/test/Semantics/resolve21.f90 b/flang/test/Semantics/resolve21.f90
index 73634de7c7c58..bee368c4e669a 100644
--- a/flang/test/Semantics/resolve21.f90
+++ b/flang/test/Semantics/resolve21.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1
   type :: t
     integer :: i

diff  --git a/flang/test/Semantics/resolve22.f90 b/flang/test/Semantics/resolve22.f90
index 4176fd68c7383..c35f0574fce97 100644
--- a/flang/test/Semantics/resolve22.f90
+++ b/flang/test/Semantics/resolve22.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 28c97547ced9e..8a876b0b1d8ad 100644
--- a/flang/test/Semantics/resolve23.f90
+++ b/flang/test/Semantics/resolve23.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   type :: t
     real :: y

diff  --git a/flang/test/Semantics/resolve24.f90 b/flang/test/Semantics/resolve24.f90
index 985eebc558ea0..c6306fbea5944 100644
--- a/flang/test/Semantics/resolve24.f90
+++ b/flang/test/Semantics/resolve24.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index e31d8940bd3b6..e3fd2c267b4aa 100644
--- a/flang/test/Semantics/resolve25.f90
+++ b/flang/test/Semantics/resolve25.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   interface foo
     real function s1(x)

diff  --git a/flang/test/Semantics/resolve26.f90 b/flang/test/Semantics/resolve26.f90
index 1650c06577c00..96c7eef1df5b7 100644
--- a/flang/test/Semantics/resolve26.f90
+++ b/flang/test/Semantics/resolve26.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   interface
     module subroutine s()

diff  --git a/flang/test/Semantics/resolve27.f90 b/flang/test/Semantics/resolve27.f90
index ceb062fee315f..83ad4081881c1 100644
--- a/flang/test/Semantics/resolve27.f90
+++ b/flang/test/Semantics/resolve27.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   interface
     module subroutine s()

diff  --git a/flang/test/Semantics/resolve28.f90 b/flang/test/Semantics/resolve28.f90
index f11c9900420a7..2b5cc2fe5842d 100644
--- a/flang/test/Semantics/resolve28.f90
+++ b/flang/test/Semantics/resolve28.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s
   type t
   end type

diff  --git a/flang/test/Semantics/resolve29.f90 b/flang/test/Semantics/resolve29.f90
index dbcae4109e7df..96ec9d7b7a59d 100644
--- a/flang/test/Semantics/resolve29.f90
+++ b/flang/test/Semantics/resolve29.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   type t1
   end type

diff  --git a/flang/test/Semantics/resolve30.f90 b/flang/test/Semantics/resolve30.f90
index 2e923284b51da..ecf488a7d1fb3 100644
--- a/flang/test/Semantics/resolve30.f90
+++ b/flang/test/Semantics/resolve30.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1
   integer x
   block

diff  --git a/flang/test/Semantics/resolve31.f90 b/flang/test/Semantics/resolve31.f90
index e6cc9e20968ec..b99d081b7c900 100644
--- a/flang/test/Semantics/resolve31.f90
+++ b/flang/test/Semantics/resolve31.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 43ba45a7c7f74..542cd7e734c78 100644
--- a/flang/test/Semantics/resolve32.f90
+++ b/flang/test/Semantics/resolve32.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m2
   public s2, s4
   private s3

diff  --git a/flang/test/Semantics/resolve33.f90 b/flang/test/Semantics/resolve33.f90
index 79c2f096896c0..114479294c9da 100644
--- a/flang/test/Semantics/resolve33.f90
+++ b/flang/test/Semantics/resolve33.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4497a30ad77af..9d816e5cfa0e1 100644
--- a/flang/test/Semantics/resolve34.f90
+++ b/flang/test/Semantics/resolve34.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Extended derived types
 
 module m1

diff  --git a/flang/test/Semantics/resolve35.f90 b/flang/test/Semantics/resolve35.f90
index 9dfba8e8586af..bbefe2791a49a 100644
--- a/flang/test/Semantics/resolve35.f90
+++ b/flang/test/Semantics/resolve35.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Construct names
 
 subroutine s1

diff  --git a/flang/test/Semantics/resolve36.f90 b/flang/test/Semantics/resolve36.f90
index 55017ffc767a2..ac8595c2deff9 100644
--- a/flang/test/Semantics/resolve36.f90
+++ b/flang/test/Semantics/resolve36.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index a33b0a3541b50..19c09fb9ba12f 100644
--- a/flang/test/Semantics/resolve37.f90
+++ b/flang/test/Semantics/resolve37.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 2a4e88e1e32f4..44f5f771d6298 100644
--- a/flang/test/Semantics/resolve38.f90
+++ b/flang/test/Semantics/resolve38.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! C772
 module m1
   type t1

diff  --git a/flang/test/Semantics/resolve39.f90 b/flang/test/Semantics/resolve39.f90
index c3eca9fa274ff..6f27ab22e2ceb 100644
--- a/flang/test/Semantics/resolve39.f90
+++ b/flang/test/Semantics/resolve39.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1
   implicit none
   real(8) :: x = 2.0

diff  --git a/flang/test/Semantics/resolve40.f90 b/flang/test/Semantics/resolve40.f90
index eb8150d0f59bf..32d247df4db8b 100644
--- a/flang/test/Semantics/resolve40.f90
+++ b/flang/test/Semantics/resolve40.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1
   namelist /nl/x
   block

diff  --git a/flang/test/Semantics/resolve41.f90 b/flang/test/Semantics/resolve41.f90
index de864cea210d2..15eb1b95fa924 100644
--- a/flang/test/Semantics/resolve41.f90
+++ b/flang/test/Semantics/resolve41.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
   implicit none
   real, parameter :: a = 8.0

diff  --git a/flang/test/Semantics/resolve42.f90 b/flang/test/Semantics/resolve42.f90
index f4063970287e7..6138a3ebdc530 100644
--- a/flang/test/Semantics/resolve42.f90
+++ b/flang/test/Semantics/resolve42.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 1cd97f9cf6f61..27677de89d004 100644
--- a/flang/test/Semantics/resolve43.f90
+++ b/flang/test/Semantics/resolve43.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f11f6a5eefd5f..34c4d815cbcdf 100644
--- a/flang/test/Semantics/resolve44.f90
+++ b/flang/test/Semantics/resolve44.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4b0b4d93c14f0..fb9ef37e628f4 100644
--- a/flang/test/Semantics/resolve45.f90
+++ b/flang/test/Semantics/resolve45.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index dcce05ebd5f0f..c762435d63ab8 100644
--- a/flang/test/Semantics/resolve46.f90
+++ b/flang/test/Semantics/resolve46.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 723754bfe9c30..339fc6126fccd 100644
--- a/flang/test/Semantics/resolve47.f90
+++ b/flang/test/Semantics/resolve47.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index f6928d72d7167..66e1eaabb12be 100644
--- a/flang/test/Semantics/resolve48.f90
+++ b/flang/test/Semantics/resolve48.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 2c0df6ba752c9..424f99ac2440e 100644
--- a/flang/test/Semantics/resolve49.f90
+++ b/flang/test/Semantics/resolve49.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test section subscript
 program p1
   real :: a(10,10)

diff  --git a/flang/test/Semantics/resolve50.f90 b/flang/test/Semantics/resolve50.f90
index 1889a5a2fe8e0..a23cd195aa010 100644
--- a/flang/test/Semantics/resolve50.f90
+++ b/flang/test/Semantics/resolve50.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test coarray association in CHANGE TEAM statement
 
 subroutine s1

diff  --git a/flang/test/Semantics/resolve51.f90 b/flang/test/Semantics/resolve51.f90
index 08ff4d133b175..4e8ab5ea3c496 100644
--- a/flang/test/Semantics/resolve51.f90
+++ b/flang/test/Semantics/resolve51.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test SELECT TYPE errors: C1157
 
 subroutine s1()

diff  --git a/flang/test/Semantics/resolve52.f90 b/flang/test/Semantics/resolve52.f90
index 2e7484065fc1f..c69fa68f874c2 100644
--- a/flang/test/Semantics/resolve52.f90
+++ b/flang/test/Semantics/resolve52.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 89d07cb2a7b93..357a9d067c7ba 100644
--- a/flang/test/Semantics/resolve53.f90
+++ b/flang/test/Semantics/resolve53.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f0a07403b819f..bb53d056811f1 100644
--- a/flang/test/Semantics/resolve54.f90
+++ b/flang/test/Semantics/resolve54.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 80aad3c261578..b66099dc1dfb1 100644
--- a/flang/test/Semantics/resolve55.f90
+++ b/flang/test/Semantics/resolve55.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 29585c4d37b13..0de93ef6c4567 100644
--- a/flang/test/Semantics/resolve56.f90
+++ b/flang/test/Semantics/resolve56.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 0ce006c3235f1..2b917b81fe206 100644
--- a/flang/test/Semantics/resolve57.f90
+++ b/flang/test/Semantics/resolve57.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index ea814bd99eac7..744437992f72d 100644
--- a/flang/test/Semantics/resolve58.f90
+++ b/flang/test/Semantics/resolve58.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 76f619cd4e5ef..09085fa221ffb 100644
--- a/flang/test/Semantics/resolve59.f90
+++ b/flang/test/Semantics/resolve59.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index a03079f3bac78..336d8e91c057b 100644
--- a/flang/test/Semantics/resolve60.f90
+++ b/flang/test/Semantics/resolve60.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Testing 7.6 enum
 
   ! OK

diff  --git a/flang/test/Semantics/resolve61.f90 b/flang/test/Semantics/resolve61.f90
index 3df186106ea5c..031aee29e9816 100644
--- a/flang/test/Semantics/resolve61.f90
+++ b/flang/test/Semantics/resolve61.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 7314a5fe6ec48..7de82d401f77e 100644
--- a/flang/test/Semantics/resolve62.f90
+++ b/flang/test/Semantics/resolve62.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 7ae6458a691fd..2d38e90d6175b 100644
--- a/flang/test/Semantics/resolve63.f90
+++ b/flang/test/Semantics/resolve63.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 829c49accf60d..40d16ce27980e 100644
--- a/flang/test/Semantics/resolve64.f90
+++ b/flang/test/Semantics/resolve64.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang -flogical-abbreviations -fxor-operator
+! REQUIRES: shell
 
 ! Like m4 in resolve63 but compiled with 
diff erent options.
 ! Alternate operators are enabled so treat these as intrinsic.

diff  --git a/flang/test/Semantics/resolve65.f90 b/flang/test/Semantics/resolve65.f90
index 14e8715fbf6a5..701c53a17cd3c 100644
--- a/flang/test/Semantics/resolve65.f90
+++ b/flang/test/Semantics/resolve65.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f812cfba61991..7474f7fb6c055 100644
--- a/flang/test/Semantics/resolve66.f90
+++ b/flang/test/Semantics/resolve66.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index ce5ae8b5f5803..2c554af29c8c7 100644
--- a/flang/test/Semantics/resolve67.f90
+++ b/flang/test/Semantics/resolve67.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 67eb1a31bd53d..a88ab007f8382 100644
--- a/flang/test/Semantics/resolve68.f90
+++ b/flang/test/Semantics/resolve68.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test resolution of type-bound generics.
 
 module m1

diff  --git a/flang/test/Semantics/resolve69.f90 b/flang/test/Semantics/resolve69.f90
index ecf1077ee01f2..f6ce5c70d1e70 100644
--- a/flang/test/Semantics/resolve69.f90
+++ b/flang/test/Semantics/resolve69.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 6fe50081e8ef5..60c488d4b52ac 100644
--- a/flang/test/Semantics/resolve70.f90
+++ b/flang/test/Semantics/resolve70.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index bcebd7c269e5f..5bdbbda306ab4 100644
--- a/flang/test/Semantics/resolve71.f90
+++ b/flang/test/Semantics/resolve71.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4b955f3f43a9c..6f70e9ae256d7 100644
--- a/flang/test/Semantics/resolve72.f90
+++ b/flang/test/Semantics/resolve72.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 4e293468d577a..90656966d4b17 100644
--- a/flang/test/Semantics/resolve73.f90
+++ b/flang/test/Semantics/resolve73.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1dedb189b7db8..12be78fc08c57 100644
--- a/flang/test/Semantics/resolve74.f90
+++ b/flang/test/Semantics/resolve74.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1f49639a606f8..23269030653ea 100644
--- a/flang/test/Semantics/resolve75.f90
+++ b/flang/test/Semantics/resolve75.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 14afed152d3e5..2e594aa728e64 100644
--- a/flang/test/Semantics/resolve76.f90
+++ b/flang/test/Semantics/resolve76.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 15.6.2.5(3)
 

diff  --git a/flang/test/Semantics/resolve77.f90 b/flang/test/Semantics/resolve77.f90
index e38efab4675fb..3c413848a3baa 100644
--- a/flang/test/Semantics/resolve77.f90
+++ b/flang/test/Semantics/resolve77.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 99b15dbad80e0..296c198b19873 100644
--- a/flang/test/Semantics/resolve78.f90
+++ b/flang/test/Semantics/resolve78.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 822e1f8642424..8f828fcbe8b86 100644
--- a/flang/test/Semantics/resolve79.f90
+++ b/flang/test/Semantics/resolve79.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 01797182d6d91..dcc544f117c2f 100644
--- a/flang/test/Semantics/resolve80.f90
+++ b/flang/test/Semantics/resolve80.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index 66b05ca196dcf..cd74e100e4965 100644
--- a/flang/test/Semantics/resolve81.f90
+++ b/flang/test/Semantics/resolve81.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 63ce1dadf7267..461bd3c9a0abd 100644
--- a/flang/test/Semantics/resolve82.f90
+++ b/flang/test/Semantics/resolve82.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 2361700abaaf3..8d28f7f25b3ae 100644
--- a/flang/test/Semantics/resolve83.f90
+++ b/flang/test/Semantics/resolve83.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m
 
   ! For C1543

diff  --git a/flang/test/Semantics/resolve84.f90 b/flang/test/Semantics/resolve84.f90
index 251178a4dbd78..6a7ff3ed4e968 100644
--- a/flang/test/Semantics/resolve84.f90
+++ b/flang/test/Semantics/resolve84.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 59cb3e2db40ec..c1817b9ae6599 100644
--- a/flang/test/Semantics/resolve85.f90
+++ b/flang/test/Semantics/resolve85.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 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
index b2d116f202721..c4950b40fcf52 100644
--- a/flang/test/Semantics/resolve86.f90
+++ b/flang/test/Semantics/resolve86.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 1eb7662b3d349..abdc388dd9c44 100644
--- a/flang/test/Semantics/resolve87.f90
+++ b/flang/test/Semantics/resolve87.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 43e9ea1a2d22e..a0cb96bf0d6bf 100644
--- a/flang/test/Semantics/resolve88.f90
+++ b/flang/test/Semantics/resolve88.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! C746, C747, and C748
 module m
   use ISO_FORTRAN_ENV

diff  --git a/flang/test/Semantics/resolve89.f90 b/flang/test/Semantics/resolve89.f90
index e5a595dbe41f5..f37ce1ed9513d 100644
--- a/flang/test/Semantics/resolve89.f90
+++ b/flang/test/Semantics/resolve89.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f93850159611e..c0aa420e59eb2 100644
--- a/flang/test/Semantics/resolve90.f90
+++ b/flang/test/Semantics/resolve90.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 292dc9eef33d6..44b1dc5e33300 100644
--- a/flang/test/Semantics/resolve91.f90
+++ b/flang/test/Semantics/resolve91.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index f7469d91ac559..4b7e7955471bf 100644
--- a/flang/test/Semantics/resolve92.f90
+++ b/flang/test/Semantics/resolve92.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 module m1
   implicit none

diff  --git a/flang/test/Semantics/resolve93.f90 b/flang/test/Semantics/resolve93.f90
index 78521be4fd466..5454267136dfc 100644
--- a/flang/test/Semantics/resolve93.f90
+++ b/flang/test/Semantics/resolve93.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 subroutine s1()
   character(10) str
   character(10) str1

diff  --git a/flang/test/Semantics/resolve94.f90 b/flang/test/Semantics/resolve94.f90
index ac055d8efeb5b..bec63f3db722f 100644
--- a/flang/test/Semantics/resolve94.f90
+++ b/flang/test/Semantics/resolve94.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e913b59968765..38103c34c3b54 100644
--- a/flang/test/Semantics/resolve95.f90
+++ b/flang/test/Semantics/resolve95.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test SELECT TYPE and ASSOCIATE errors: C1103
 
 subroutine s1()

diff  --git a/flang/test/Semantics/resolve96.f90 b/flang/test/Semantics/resolve96.f90
index 21d5983b73ca6..6cb61804e12be 100644
--- a/flang/test/Semantics/resolve96.f90
+++ b/flang/test/Semantics/resolve96.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Check distinguishability for specific procedures of defined operators and
 ! assignment. These are 
diff erent from names because there a normal generic

diff  --git a/flang/test/Semantics/resolve97.f90 b/flang/test/Semantics/resolve97.f90
index ecdfe593cc746..fff143e9e1c13 100644
--- a/flang/test/Semantics/resolve97.f90
+++ b/flang/test/Semantics/resolve97.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index d000ff9cadaac..c5fe44125549b 100644
--- a/flang/test/Semantics/resolve98.f90
+++ b/flang/test/Semantics/resolve98.f90
@@ -1,5 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
-
+! REQUIRES: shell
 ! Errors when comparing LOGICAL operands
 
 program testCompare

diff  --git a/flang/test/Semantics/resolve99.f90 b/flang/test/Semantics/resolve99.f90
index cbd708f31c0fc..ae10d563f9595 100644
--- a/flang/test/Semantics/resolve99.f90
+++ b/flang/test/Semantics/resolve99.f90
@@ -1,5 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
-
+! REQUIRES: shell
 ! 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
index 444d927f42655..beffcc98cc55e 100644
--- a/flang/test/Semantics/save01.f90
+++ b/flang/test/Semantics/save01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 MODULE test
 SAVE
 CONTAINS

diff  --git a/flang/test/Semantics/select-rank.f90 b/flang/test/Semantics/select-rank.f90
index 1746c2f906e0a..e8571b81762c1 100644
--- a/flang/test/Semantics/select-rank.f90
+++ b/flang/test/Semantics/select-rank.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 !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
index 97265783acd7a..acf789c696410 100644
--- a/flang/test/Semantics/select-rank02.f90
+++ b/flang/test/Semantics/select-rank02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 !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
index 4bb400f15a0ac..a564bd8c373e1 100644
--- a/flang/test/Semantics/selecttype01.f90
+++ b/flang/test/Semantics/selecttype01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 84cbedb2c7725..309425013a779 100644
--- a/flang/test/Semantics/selecttype02.f90
+++ b/flang/test/Semantics/selecttype02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 module m1
   use ISO_C_BINDING
   type shape

diff  --git a/flang/test/Semantics/selecttype03.f90 b/flang/test/Semantics/selecttype03.f90
index e6c21397318e7..c4f4143eb087d 100644
--- a/flang/test/Semantics/selecttype03.f90
+++ b/flang/test/Semantics/selecttype03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test various conditions in C1158.
 implicit none
 

diff  --git a/flang/test/Semantics/separate-mp01.f90 b/flang/test/Semantics/separate-mp01.f90
index 0126ffac7e8ce..03b27e1d7b23a 100644
--- a/flang/test/Semantics/separate-mp01.f90
+++ b/flang/test/Semantics/separate-mp01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index f68ab1bb6e7d5..2c0ac61e9134a 100644
--- a/flang/test/Semantics/separate-mp02.f90
+++ b/flang/test/Semantics/separate-mp02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! 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
index ec99136817808..00c7bfd46820b 100644
--- a/flang/test/Semantics/shape.f90
+++ b/flang/test/Semantics/shape.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index e9f3442484727..c88483a7c5cf4 100644
--- a/flang/test/Semantics/spec-expr.f90
+++ b/flang/test/Semantics/spec-expr.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index ea041723fb0c8..540cec54f8f12 100644
--- a/flang/test/Semantics/stop01.f90
+++ b/flang/test/Semantics/stop01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 program main
   implicit none
   integer :: i = -1

diff  --git a/flang/test/Semantics/structconst01.f90 b/flang/test/Semantics/structconst01.f90
index 96e2dbc41aa36..c225d26a65c23 100644
--- a/flang/test/Semantics/structconst01.f90
+++ b/flang/test/Semantics/structconst01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index b8df1a46e964e..ff523c28c7a29 100644
--- a/flang/test/Semantics/structconst02.f90
+++ b/flang/test/Semantics/structconst02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Error tests for structure constructors: per-component type
 ! (in)compatibility.
 

diff  --git a/flang/test/Semantics/structconst03.f90 b/flang/test/Semantics/structconst03.f90
index 221b2cebdd40a..70694f03ad022 100644
--- a/flang/test/Semantics/structconst03.f90
+++ b/flang/test/Semantics/structconst03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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
index 535d20755e9a3..728a4c74d28be 100644
--- a/flang/test/Semantics/structconst04.f90
+++ b/flang/test/Semantics/structconst04.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_errors.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! 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/symbol01.f90 b/flang/test/Semantics/symbol01.f90
index 08a4709cf911f..359c183c70472 100644
--- a/flang/test/Semantics/symbol01.f90
+++ b/flang/test/Semantics/symbol01.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test that intent-stmt and subprogram prefix and suffix are resolved.
 
 !DEF: /m Module

diff  --git a/flang/test/Semantics/symbol02.f90 b/flang/test/Semantics/symbol02.f90
index fbe39f42ac9cf..b266e70d56eb7 100644
--- a/flang/test/Semantics/symbol02.f90
+++ b/flang/test/Semantics/symbol02.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test host association in module subroutine and internal subroutine.
 
 !DEF: /m Module

diff  --git a/flang/test/Semantics/symbol03.f90 b/flang/test/Semantics/symbol03.f90
index 84468dfbb4bfc..93c56d889c0cf 100644
--- a/flang/test/Semantics/symbol03.f90
+++ b/flang/test/Semantics/symbol03.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Test host association in internal subroutine of main program.
 
 !DEF: /main MainProgram

diff  --git a/flang/test/Semantics/symbol05.f90 b/flang/test/Semantics/symbol05.f90
index 6142168d3bea0..facaef5e01d54 100644
--- a/flang/test/Semantics/symbol05.f90
+++ b/flang/test/Semantics/symbol05.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Explicit and implicit entities in blocks
 
 !DEF: /s1 (Subroutine) Subprogram

diff  --git a/flang/test/Semantics/symbol06.f90 b/flang/test/Semantics/symbol06.f90
index 026d352dad95d..1faa17793bb8d 100644
--- a/flang/test/Semantics/symbol06.f90
+++ b/flang/test/Semantics/symbol06.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /main MainProgram
 program main
  !DEF: /main/t1 DerivedType

diff  --git a/flang/test/Semantics/symbol07.f90 b/flang/test/Semantics/symbol07.f90
index cbc22e5dd2a5f..b4cfbcc0efebc 100644
--- a/flang/test/Semantics/symbol07.f90
+++ b/flang/test/Semantics/symbol07.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /main MainProgram
 program main
  implicit complex(z)

diff  --git a/flang/test/Semantics/symbol08.f90 b/flang/test/Semantics/symbol08.f90
index 0c6c335a605bb..fe2c40b509789 100644
--- a/flang/test/Semantics/symbol08.f90
+++ b/flang/test/Semantics/symbol08.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /main MainProgram
 program main
  !DEF: /main/x POINTER ObjectEntity REAL(4)

diff  --git a/flang/test/Semantics/symbol09.f90 b/flang/test/Semantics/symbol09.f90
index 260f54e41d075..95a142195d77f 100644
--- a/flang/test/Semantics/symbol09.f90
+++ b/flang/test/Semantics/symbol09.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /s1 (Subroutine) Subprogram
 subroutine s1
  !DEF: /s1/a ObjectEntity REAL(4)

diff  --git a/flang/test/Semantics/symbol10.f90 b/flang/test/Semantics/symbol10.f90
index 64849fea44775..ea366789a4fcd 100644
--- a/flang/test/Semantics/symbol10.f90
+++ b/flang/test/Semantics/symbol10.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /m1 Module
 module m1
 contains

diff  --git a/flang/test/Semantics/symbol11.f90 b/flang/test/Semantics/symbol11.f90
index 0dfafcd2555c7..ebdf65f35d658 100644
--- a/flang/test/Semantics/symbol11.f90
+++ b/flang/test/Semantics/symbol11.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 !DEF: /s1 (Subroutine) Subprogram
 subroutine s1
  implicit none

diff  --git a/flang/test/Semantics/symbol12.f90 b/flang/test/Semantics/symbol12.f90
index cffcbdfa7e0b2..ee165cf2d3c11 100644
--- a/flang/test/Semantics/symbol12.f90
+++ b/flang/test/Semantics/symbol12.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Verify that SAVE attribute is propagated by EQUIVALENCE
 
 !DEF: /s1 (Subroutine) Subprogram

diff  --git a/flang/test/Semantics/symbol13.f90 b/flang/test/Semantics/symbol13.f90
index 5a4ad6236fcba..17bd99e6ad170 100644
--- a/flang/test/Semantics/symbol13.f90
+++ b/flang/test/Semantics/symbol13.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Old-style "*length" specifiers (R723)
 
 !DEF: /f1 (Function) Subprogram CHARACTER(1_8,1)

diff  --git a/flang/test/Semantics/symbol14.f90 b/flang/test/Semantics/symbol14.f90
index 3412500b1d18e..037db56c4478e 100644
--- a/flang/test/Semantics/symbol14.f90
+++ b/flang/test/Semantics/symbol14.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! "Bare" uses of type parameters and components
 
  !DEF: /MainProgram1/t1 DerivedType

diff  --git a/flang/test/Semantics/symbol15.f90 b/flang/test/Semantics/symbol15.f90
index b51445507876e..ff534baedb554 100644
--- a/flang/test/Semantics/symbol15.f90
+++ b/flang/test/Semantics/symbol15.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Forward references in pointer initializers and TBP bindings.
 
 !DEF: /m Module

diff  --git a/flang/test/Semantics/symbol16.f90 b/flang/test/Semantics/symbol16.f90
index def7dc7bcf4ff..ea198b047bfc3 100644
--- a/flang/test/Semantics/symbol16.f90
+++ b/flang/test/Semantics/symbol16.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Statement functions
 
 !DEF: /p1 MainProgram

diff  --git a/flang/test/Semantics/symbol17.f90 b/flang/test/Semantics/symbol17.f90
index 5906a47124370..0b6b930804d91 100644
--- a/flang/test/Semantics/symbol17.f90
+++ b/flang/test/Semantics/symbol17.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 ! Forward references to derived types (non-error cases)
 
 !DEF: /main MainProgram

diff  --git a/flang/test/Semantics/symbol18.f90 b/flang/test/Semantics/symbol18.f90
index fee435254307c..44fdcd51b8720 100644
--- a/flang/test/Semantics/symbol18.f90
+++ b/flang/test/Semantics/symbol18.f90
@@ -1,4 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
+! REQUIRES: shell
 
 ! Intrinsic function in type declaration statement: type is ignored
 

diff  --git a/flang/test/Semantics/symbol19.f90 b/flang/test/Semantics/symbol19.f90
index 677d0af2055cc..d8f4cd5128d26 100644
--- a/flang/test/Semantics/symbol19.f90
+++ b/flang/test/Semantics/symbol19.f90
@@ -1,5 +1,5 @@
 ! RUN: %S/test_symbols.sh %s %t %flang_fc1
-
+! REQUIRES: shell
 
 ! Test that a procedure is only implicitly resolved as an intrinsic function
 ! (resp. subroutine) if this is a function (resp. subroutine)

diff  --git a/flang/test/lit.site.cfg.py.in b/flang/test/lit.site.cfg.py.in
index 7a59280283813..17822b0b7d2e4 100644
--- a/flang/test/lit.site.cfg.py.in
+++ b/flang/test/lit.site.cfg.py.in
@@ -3,6 +3,7 @@
 import sys
 
 config.llvm_tools_dir = "@LLVM_TOOLS_DIR@"
+config.lit_tools_dir = "@LLVM_LIT_TOOLS_DIR@"
 config.flang_obj_root = "@FLANG_BINARY_DIR@"
 config.flang_src_dir = "@FLANG_SOURCE_DIR@"
 config.flang_tools_dir = "@FLANG_TOOLS_DIR@"


        


More information about the flang-commits mailing list