From f1a8eae3b6c2a660881c5db8fcde6241dc6cb6ef Mon Sep 17 00:00:00 2001 From: Luke Ireland Date: Fri, 14 Feb 2020 14:02:29 +0000 Subject: [PATCH] [flang] Port all remaining regression tests to lit We have re-classified a subset of the regression tests as unit tests and now we are porting the remaining ones. Test discovery and running is now performed by lit rather than ctest. The tests continue to use their original scripts with minor modifications. Most of the changes were mechanical and so scripted. A few changes were made by hand. Details Manual: * modfile09-*.f90 tests depend on being run together as some tests have dependencies on modules created by other tests. This will need separating out when porting away from test_modfile.sh, but for now, added modfile09-*.f90 to the Inputs directory and added a single tests modfile09.f90 to hold the run line. * getdefinition03-a.f90 includes a non-test file getdefinition03-b.f90. Manually edited the former to find the latter in Inputs so as to add only one test. * Same pattern for getsymbols03-{a,b}.f90 Auto: * Remaining tests have a lit RUN line added to them based on the type of test they are. * Failing tests also have an XFAIL line added to them. * Generic tests have their pre-existing RUN lines replaced with the word "EXEC" to avoid conflict with the added lit RUN line. Original-commit: flang-compiler/f18@63ec0af9f4c8e736a626d1cd1410f71f4e578aa9 Reviewed-on: https://github.com/flang-compiler/f18/pull/1027 Tree-same-pre-rewrite: false --- .../Driver/version_test.f90 | 0 flang/test/Evaluate/folding01.f90 | 1 + flang/test/Evaluate/folding02.f90 | 1 + flang/test/Evaluate/folding03.f90 | 1 + flang/test/Evaluate/folding04.f90 | 1 + flang/test/Evaluate/folding05.f90 | Bin 9530 -> 9569 bytes flang/test/Evaluate/folding06.f90 | 1 + flang/test/Evaluate/folding07.f90 | 1 + flang/test/Evaluate/folding08.f90 | 1 + flang/test/Evaluate/folding09.f90 | 1 + flang/{test-lit => test}/Fir/fir-ops.fir | 0 flang/{test-lit => test}/Fir/fir-types.fir | 0 .../Lower/pre-fir-tree01.f90 | 0 .../Lower/pre-fir-tree02.f90 | 0 .../Lower/pre-fir-tree03.f90 | 0 .../Lower/pre-fir-tree04.f90 | 0 .../{ => Inputs}/getdefinition03-b.f90 | 0 .../Semantics/{ => Inputs}/getsymbols02-a.f90 | 2 +- .../Semantics/{ => Inputs}/getsymbols02-b.f90 | 2 +- .../Semantics/{ => Inputs}/getsymbols02-c.f90 | 2 +- .../Semantics/{ => Inputs}/getsymbols03-b.f90 | 0 .../Semantics/Inputs/mod-file-changed.f90 | 0 .../Semantics/Inputs/mod-file-unchanged.f90 | 0 .../Semantics/{ => Inputs}/modfile09-a.f90 | 0 .../Semantics/{ => Inputs}/modfile09-b.f90 | 0 .../Semantics/{ => Inputs}/modfile09-c.f90 | 0 .../Semantics/{ => Inputs}/modfile09-d.f90 | 0 flang/test/Semantics/allocate01.f90 | 1 + flang/test/Semantics/allocate02.f90 | 1 + flang/test/Semantics/allocate03.f90 | 1 + flang/test/Semantics/allocate04.f90 | 1 + flang/test/Semantics/allocate05.f90 | 1 + flang/test/Semantics/allocate06.f90 | 1 + flang/test/Semantics/allocate07.f90 | 1 + flang/test/Semantics/allocate08.f90 | 1 + flang/test/Semantics/allocate09.f90 | 1 + flang/test/Semantics/allocate10.f90 | 1 + flang/test/Semantics/allocate11.f90 | 1 + flang/test/Semantics/allocate12.f90 | 1 + flang/test/Semantics/allocate13.f90 | 1 + flang/test/Semantics/altreturn01.f90 | 1 + flang/test/Semantics/altreturn02.f90 | 1 + flang/test/Semantics/altreturn03.f90 | 1 + flang/test/Semantics/altreturn04.f90 | 1 + flang/test/Semantics/altreturn05.f90 | 1 + flang/test/Semantics/assign01.f90 | 1 + flang/test/Semantics/assign02.f90 | 1 + flang/test/Semantics/assign03.f90 | 1 + flang/test/Semantics/assign04.f90 | 1 + flang/test/Semantics/bad-forward-type.f90 | 1 + flang/test/Semantics/bindings01.f90 | 1 + flang/test/Semantics/block-data01.f90 | 1 + flang/test/Semantics/blockconstruct01.f90 | 1 + flang/test/Semantics/blockconstruct02.f90 | 1 + flang/test/Semantics/blockconstruct03.f90 | 1 + flang/test/Semantics/c_f_pointer.f90 | 1 + flang/test/Semantics/call01.f90 | 1 + flang/test/Semantics/call02.f90 | 1 + flang/test/Semantics/call03.f90 | 1 + flang/test/Semantics/call04.f90 | 1 + flang/test/Semantics/call05.f90 | 1 + flang/test/Semantics/call06.f90 | 1 + flang/test/Semantics/call07.f90 | 1 + flang/test/Semantics/call08.f90 | 1 + flang/test/Semantics/call09.f90 | 1 + flang/test/Semantics/call10.f90 | 1 + flang/test/Semantics/call11.f90 | 1 + flang/test/Semantics/call12.f90 | 1 + flang/test/Semantics/call13.f90 | 1 + flang/test/Semantics/call14.f90 | 1 + flang/test/Semantics/call15.f90 | 1 + flang/test/Semantics/canondo01.f90 | 3 ++- flang/test/Semantics/canondo02.f90 | 3 ++- flang/test/Semantics/canondo03.f90 | 3 ++- flang/test/Semantics/canondo04.f90 | 3 ++- flang/test/Semantics/canondo05.f90 | 5 +++-- flang/test/Semantics/canondo06.f90 | 3 ++- flang/test/Semantics/canondo07.f90 | 3 ++- flang/test/Semantics/canondo08.f90 | 3 ++- flang/test/Semantics/canondo09.f90 | 3 ++- flang/test/Semantics/canondo10.f90 | 3 ++- flang/test/Semantics/canondo11.f90 | 3 ++- flang/test/Semantics/canondo12.f90 | 3 ++- flang/test/Semantics/canondo13.f90 | 3 ++- flang/test/Semantics/canondo14.f90 | 3 ++- flang/test/Semantics/canondo15.f90 | 3 ++- flang/test/Semantics/canondo16.f90 | 3 ++- flang/test/Semantics/canondo17.f90 | 3 ++- flang/test/Semantics/canondo18.f90 | 3 ++- flang/test/Semantics/canondo19.f90 | 3 ++- flang/test/Semantics/coarrays01.f90 | 1 + flang/test/Semantics/complex01.f90 | 1 + flang/test/Semantics/computed-goto01.f90 | 1 + flang/test/Semantics/computed-goto02.f90 | 1 + flang/test/Semantics/critical01.f90 | 1 + flang/test/Semantics/critical02.f90 | 1 + flang/test/Semantics/critical03.f90 | 1 + flang/test/Semantics/critical04.f90 | 3 ++- flang/test/Semantics/data01.f90 | 1 + flang/test/Semantics/data02.f90 | 1 + flang/test/Semantics/deallocate01.f90 | 1 + flang/test/Semantics/deallocate04.f90 | 1 + flang/test/Semantics/deallocate05.f90 | 1 + flang/test/Semantics/doconcurrent01.f90 | 1 + flang/test/Semantics/doconcurrent02.f90 | 3 ++- flang/test/Semantics/doconcurrent03.f90 | 3 ++- flang/test/Semantics/doconcurrent04.f90 | 3 ++- flang/test/Semantics/doconcurrent05.f90 | 1 + flang/test/Semantics/doconcurrent06.f90 | 1 + flang/test/Semantics/doconcurrent07.f90 | 3 ++- flang/test/Semantics/doconcurrent08.f90 | 1 + flang/test/Semantics/dosemantics01.f90 | 1 + flang/test/Semantics/dosemantics02.f90 | 1 + flang/test/Semantics/dosemantics03.f90 | 1 + flang/test/Semantics/dosemantics04.f90 | 1 + flang/test/Semantics/dosemantics05.f90 | 1 + flang/test/Semantics/dosemantics06.f90 | 1 + flang/test/Semantics/dosemantics07.f90 | 1 + flang/test/Semantics/dosemantics08.f90 | 1 + flang/test/Semantics/dosemantics09.f90 | 1 + flang/test/Semantics/dosemantics10.f90 | 1 + flang/test/Semantics/dosemantics11.f90 | 1 + flang/test/Semantics/dosemantics12.f90 | 1 + flang/test/Semantics/equivalence01.f90 | 1 + flang/test/Semantics/expr-errors01.f90 | 1 + flang/test/Semantics/expr-errors02.f90 | 1 + flang/test/Semantics/forall01.f90 | 1 + flang/test/Semantics/getdefinition01.f90 | 14 +++++++------- flang/test/Semantics/getdefinition02.f | 10 +++++----- flang/test/Semantics/getdefinition03-a.f90 | 10 +++++----- flang/test/Semantics/getdefinition04.f90 | 4 ++-- flang/test/Semantics/getdefinition05.f90 | 8 ++++---- flang/test/Semantics/getsymbols01.f90 | 4 ++-- flang/test/Semantics/getsymbols02.f90 | 1 + flang/test/Semantics/getsymbols03-a.f90 | 6 +++--- flang/test/Semantics/getsymbols04.f90 | 4 ++-- flang/test/Semantics/getsymbols05.f90 | 4 ++-- flang/test/Semantics/if_arith01.f90 | 1 + flang/test/Semantics/if_arith02.f90 | 1 + flang/test/Semantics/if_arith03.f90 | 1 + flang/test/Semantics/if_arith04.f90 | 1 + flang/test/Semantics/if_construct01.f90 | 1 + flang/test/Semantics/if_construct02.f90 | 1 + flang/test/Semantics/if_stmt01.f90 | 1 + flang/test/Semantics/if_stmt02.f90 | 1 + flang/test/Semantics/if_stmt03.f90 | 1 + flang/test/Semantics/implicit01.f90 | 1 + flang/test/Semantics/implicit02.f90 | 1 + flang/test/Semantics/implicit03.f90 | 1 + flang/test/Semantics/implicit04.f90 | 1 + flang/test/Semantics/implicit05.f90 | 1 + flang/test/Semantics/implicit06.f90 | 1 + flang/test/Semantics/implicit07.f90 | 1 + flang/test/Semantics/implicit08.f90 | 1 + flang/test/Semantics/init01.f90 | 1 + flang/test/Semantics/int-literals.f90 | 1 + flang/test/Semantics/io01.f90 | 1 + flang/test/Semantics/io02.f90 | 1 + flang/test/Semantics/io03.f90 | 1 + flang/test/Semantics/io04.f90 | 1 + flang/test/Semantics/io05.f90 | 1 + flang/test/Semantics/io06.f90 | 1 + flang/test/Semantics/io07.f90 | 1 + flang/test/Semantics/io08.f90 | 1 + flang/test/Semantics/io09.f90 | 1 + flang/test/Semantics/io10.f90 | 1 + flang/test/Semantics/kinds01.f90 | 1 + flang/test/Semantics/kinds02.f90 | 1 + flang/test/Semantics/kinds03.f90 | 1 + flang/test/Semantics/kinds04.f90 | 1 + flang/test/Semantics/label01.F90 | 3 ++- flang/test/Semantics/label02.f90 | 3 ++- flang/test/Semantics/label03.f90 | 3 ++- flang/test/Semantics/label04.f90 | 3 ++- flang/test/Semantics/label05.f90 | 3 ++- flang/test/Semantics/label06.f90 | 3 ++- flang/test/Semantics/label07.f90 | 3 ++- flang/test/Semantics/label08.f90 | 3 ++- flang/test/Semantics/label09.f90 | 3 ++- flang/test/Semantics/label10.f90 | 3 ++- flang/test/Semantics/label11.f90 | 3 ++- flang/test/Semantics/label12.f90 | 3 ++- flang/test/Semantics/label13.f90 | 3 ++- flang/test/Semantics/label14.f90 | 3 ++- flang/test/Semantics/misc-declarations.f90 | 1 + .../Semantics/mod-file-rewriter.f90 | 0 flang/test/Semantics/modfile01.f90 | 1 + flang/test/Semantics/modfile02.f90 | 1 + flang/test/Semantics/modfile03.f90 | 1 + flang/test/Semantics/modfile04.f90 | 1 + flang/test/Semantics/modfile05.f90 | 1 + flang/test/Semantics/modfile06.f90 | 1 + flang/test/Semantics/modfile07.f90 | 1 + flang/test/Semantics/modfile08.f90 | 1 + flang/test/Semantics/modfile09.f90 | 1 + flang/test/Semantics/modfile10.f90 | 1 + flang/test/Semantics/modfile11.f90 | 1 + flang/test/Semantics/modfile12.f90 | 1 + flang/test/Semantics/modfile13.f90 | 1 + flang/test/Semantics/modfile14.f90 | 1 + flang/test/Semantics/modfile15.f90 | 1 + flang/test/Semantics/modfile16.f90 | 1 + flang/test/Semantics/modfile17.f90 | 1 + flang/test/Semantics/modfile18.f90 | 1 + flang/test/Semantics/modfile19.f90 | 1 + flang/test/Semantics/modfile20.f90 | 1 + flang/test/Semantics/modfile21.f90 | 1 + flang/test/Semantics/modfile22.f90 | 1 + flang/test/Semantics/modfile23.f90 | 1 + flang/test/Semantics/modfile24.f90 | 1 + flang/test/Semantics/modfile25.f90 | 1 + flang/test/Semantics/modfile26.f90 | 1 + flang/test/Semantics/modfile27.f90 | 1 + flang/test/Semantics/modfile28.f90 | 1 + flang/test/Semantics/modfile29.f90 | 1 + flang/test/Semantics/modfile30.f90 | 1 + flang/test/Semantics/modfile31.f90 | 1 + flang/test/Semantics/modfile32.f90 | 1 + flang/test/Semantics/modfile33.f90 | 1 + flang/test/Semantics/modfile34.f90 | 1 + flang/test/Semantics/modfile35.f90 | 1 + flang/test/Semantics/namelist01.f90 | 1 + flang/test/Semantics/null01.f90 | 1 + flang/test/Semantics/nullify01.f90 | 1 + flang/test/Semantics/nullify02.f90 | 1 + flang/test/Semantics/omp-atomic.f90 | 1 + .../test/Semantics/omp-clause-validity01.f90 | 1 + .../Semantics/omp-declarative-directive.f90 | 1 + .../test/Semantics/omp-device-constructs.f90 | 1 + flang/test/Semantics/omp-loop-association.f90 | 1 + flang/test/Semantics/omp-nested01.f90 | 2 ++ flang/test/Semantics/omp-resolve01.f90 | 1 + flang/test/Semantics/omp-resolve02.f90 | 1 + flang/test/Semantics/omp-resolve03.f90 | 1 + flang/test/Semantics/omp-resolve04.f90 | 1 + flang/test/Semantics/omp-resolve05.f90 | 1 + flang/test/Semantics/omp-symbol01.f90 | 1 + flang/test/Semantics/omp-symbol02.f90 | 1 + flang/test/Semantics/omp-symbol03.f90 | 1 + flang/test/Semantics/omp-symbol04.f90 | 1 + flang/test/Semantics/omp-symbol05.f90 | 1 + flang/test/Semantics/omp-symbol06.f90 | 1 + flang/test/Semantics/omp-symbol07.f90 | 1 + flang/test/Semantics/omp-symbol08.f90 | 1 + flang/test/Semantics/procinterface01.f90 | 1 + flang/test/Semantics/resolve01.f90 | 1 + flang/test/Semantics/resolve02.f90 | 1 + flang/test/Semantics/resolve03.f90 | 1 + flang/test/Semantics/resolve04.f90 | 1 + flang/test/Semantics/resolve05.f90 | 1 + flang/test/Semantics/resolve06.f90 | 1 + flang/test/Semantics/resolve07.f90 | 1 + flang/test/Semantics/resolve08.f90 | 1 + flang/test/Semantics/resolve09.f90 | 1 + flang/test/Semantics/resolve10.f90 | 1 + flang/test/Semantics/resolve11.f90 | 1 + flang/test/Semantics/resolve12.f90 | 1 + flang/test/Semantics/resolve13.f90 | 1 + flang/test/Semantics/resolve14.f90 | 1 + flang/test/Semantics/resolve15.f90 | 1 + flang/test/Semantics/resolve16.f90 | 1 + flang/test/Semantics/resolve17.f90 | 1 + flang/test/Semantics/resolve18.f90 | 1 + flang/test/Semantics/resolve19.f90 | 1 + flang/test/Semantics/resolve20.f90 | 1 + flang/test/Semantics/resolve21.f90 | 1 + flang/test/Semantics/resolve22.f90 | 1 + flang/test/Semantics/resolve23.f90 | 1 + flang/test/Semantics/resolve24.f90 | 1 + flang/test/Semantics/resolve25.f90 | 1 + flang/test/Semantics/resolve26.f90 | 1 + flang/test/Semantics/resolve27.f90 | 1 + flang/test/Semantics/resolve28.f90 | 1 + flang/test/Semantics/resolve29.f90 | 1 + flang/test/Semantics/resolve30.f90 | 1 + flang/test/Semantics/resolve31.f90 | 1 + flang/test/Semantics/resolve32.f90 | 1 + flang/test/Semantics/resolve33.f90 | 1 + flang/test/Semantics/resolve34.f90 | 1 + flang/test/Semantics/resolve35.f90 | 1 + flang/test/Semantics/resolve36.f90 | 1 + flang/test/Semantics/resolve37.f90 | 1 + flang/test/Semantics/resolve38.f90 | 1 + flang/test/Semantics/resolve39.f90 | 1 + flang/test/Semantics/resolve40.f90 | 1 + flang/test/Semantics/resolve41.f90 | 1 + flang/test/Semantics/resolve42.f90 | 1 + flang/test/Semantics/resolve43.f90 | 1 + flang/test/Semantics/resolve44.f90 | 1 + flang/test/Semantics/resolve45.f90 | 1 + flang/test/Semantics/resolve46.f90 | 1 + flang/test/Semantics/resolve47.f90 | 1 + flang/test/Semantics/resolve48.f90 | 1 + flang/test/Semantics/resolve49.f90 | 1 + flang/test/Semantics/resolve50.f90 | 1 + flang/test/Semantics/resolve51.f90 | 1 + flang/test/Semantics/resolve52.f90 | 1 + flang/test/Semantics/resolve53.f90 | 1 + flang/test/Semantics/resolve54.f90 | 1 + flang/test/Semantics/resolve55.f90 | 1 + flang/test/Semantics/resolve56.f90 | 1 + flang/test/Semantics/resolve57.f90 | 1 + flang/test/Semantics/resolve58.f90 | 1 + flang/test/Semantics/resolve59.f90 | 1 + flang/test/Semantics/resolve60.f90 | 1 + flang/test/Semantics/resolve61.f90 | 1 + flang/test/Semantics/resolve62.f90 | 1 + flang/test/Semantics/resolve63.f90 | 1 + flang/test/Semantics/resolve64.f90 | 1 + flang/test/Semantics/resolve65.f90 | 1 + flang/test/Semantics/resolve66.f90 | 1 + flang/test/Semantics/resolve67.f90 | 1 + flang/test/Semantics/resolve68.f90 | 1 + flang/test/Semantics/resolve69.f90 | 1 + flang/test/Semantics/resolve70.f90 | 1 + flang/test/Semantics/resolve71.f90 | 1 + flang/test/Semantics/resolve72.f90 | 1 + flang/test/Semantics/resolve73.f90 | 1 + flang/test/Semantics/resolve74.f90 | 1 + flang/test/Semantics/resolve75.f90 | 1 + .../test/Semantics/separate-module-procs.f90 | 1 + flang/test/Semantics/stop01.f90 | 1 + flang/test/Semantics/structconst01.f90 | 1 + flang/test/Semantics/structconst02.f90 | 1 + flang/test/Semantics/structconst03.f90 | 1 + flang/test/Semantics/structconst04.f90 | 1 + flang/test/Semantics/symbol01.f90 | 1 + flang/test/Semantics/symbol02.f90 | 1 + flang/test/Semantics/symbol03.f90 | 1 + flang/test/Semantics/symbol05.f90 | 1 + flang/test/Semantics/symbol06.f90 | 1 + flang/test/Semantics/symbol07.f90 | 1 + flang/test/Semantics/symbol08.f90 | 1 + flang/test/Semantics/symbol09.f90 | 1 + flang/test/Semantics/symbol10.f90 | 1 + flang/test/Semantics/symbol11.f90 | 1 + flang/test/Semantics/symbol12.f90 | 1 + flang/test/Semantics/symbol13.f90 | 1 + flang/test/Semantics/symbol14.f90 | 1 + flang/test/Semantics/symbol15.f90 | 1 + flang/test/Semantics/symbol16.f90 | 1 + flang/test/Semantics/symbol17.f90 | 1 + 342 files changed, 388 insertions(+), 74 deletions(-) rename flang/{test-lit => test}/Driver/version_test.f90 (100%) rename flang/{test-lit => test}/Fir/fir-ops.fir (100%) rename flang/{test-lit => test}/Fir/fir-types.fir (100%) rename flang/{test-lit => test}/Lower/pre-fir-tree01.f90 (100%) rename flang/{test-lit => test}/Lower/pre-fir-tree02.f90 (100%) rename flang/{test-lit => test}/Lower/pre-fir-tree03.f90 (100%) rename flang/{test-lit => test}/Lower/pre-fir-tree04.f90 (100%) rename flang/test/Semantics/{ => Inputs}/getdefinition03-b.f90 (100%) rename flang/test/Semantics/{ => Inputs}/getsymbols02-a.f90 (83%) rename flang/test/Semantics/{ => Inputs}/getsymbols02-b.f90 (86%) rename flang/test/Semantics/{ => Inputs}/getsymbols02-c.f90 (70%) rename flang/test/Semantics/{ => Inputs}/getsymbols03-b.f90 (100%) rename flang/{test-lit => test}/Semantics/Inputs/mod-file-changed.f90 (100%) rename flang/{test-lit => test}/Semantics/Inputs/mod-file-unchanged.f90 (100%) rename flang/test/Semantics/{ => Inputs}/modfile09-a.f90 (100%) rename flang/test/Semantics/{ => Inputs}/modfile09-b.f90 (100%) rename flang/test/Semantics/{ => Inputs}/modfile09-c.f90 (100%) rename flang/test/Semantics/{ => Inputs}/modfile09-d.f90 (100%) create mode 100644 flang/test/Semantics/getsymbols02.f90 rename flang/{test-lit => test}/Semantics/mod-file-rewriter.f90 (100%) create mode 100644 flang/test/Semantics/modfile09.f90 diff --git a/flang/test-lit/Driver/version_test.f90 b/flang/test/Driver/version_test.f90 similarity index 100% rename from flang/test-lit/Driver/version_test.f90 rename to flang/test/Driver/version_test.f90 diff --git a/flang/test/Evaluate/folding01.f90 b/flang/test/Evaluate/folding01.f90 index 81f59c59a277..8a75a819ff81 100644 --- a/flang/test/Evaluate/folding01.f90 +++ b/flang/test/Evaluate/folding01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! Test intrinsic operation folding diff --git a/flang/test/Evaluate/folding02.f90 b/flang/test/Evaluate/folding02.f90 index 47c7f6373e4f..b69ff87b5c20 100644 --- a/flang/test/Evaluate/folding02.f90 +++ b/flang/test/Evaluate/folding02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! 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 56a6adffb824..c5e26faf8327 100644 --- a/flang/test/Evaluate/folding03.f90 +++ b/flang/test/Evaluate/folding03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! 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 3ced207a742c..a0e207b375b7 100644 --- a/flang/test/Evaluate/folding04.f90 +++ b/flang/test/Evaluate/folding04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! 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 5e5e5c576976724256e3c150f56be5df2efaf023..79635e392d7717c1d1a8159c6548e7413f4712ff 100644 GIT binary patch delta 47 zcmdnx_0UUQQ6VVQ&q_fxSidB-xFkL;KPM$KFI}%VLqWAzK{YKWF)v*~wS;Sfl_~&# C&JS<^ delta 8 PcmaFpwaaUxx|J#b61D?p diff --git a/flang/test/Evaluate/folding06.f90 b/flang/test/Evaluate/folding06.f90 index c591989488c3..42dc70d5165e 100644 --- a/flang/test/Evaluate/folding06.f90 +++ b/flang/test/Evaluate/folding06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! Test transformational intrinsic function folding module m diff --git a/flang/test/Evaluate/folding07.f90 b/flang/test/Evaluate/folding07.f90 index b7e13eb027a3..9c9c0a40ed61 100644 --- a/flang/test/Evaluate/folding07.f90 +++ b/flang/test/Evaluate/folding07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! Test numeric model inquiry intrinsics module m diff --git a/flang/test/Evaluate/folding08.f90 b/flang/test/Evaluate/folding08.f90 index a5546b9cf2c4..67f435a99f31 100644 --- a/flang/test/Evaluate/folding08.f90 +++ b/flang/test/Evaluate/folding08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! Test folding of LBOUND and UBOUND module m diff --git a/flang/test/Evaluate/folding09.f90 b/flang/test/Evaluate/folding09.f90 index af89aecf951a..a7510604acca 100644 --- a/flang/test/Evaluate/folding09.f90 +++ b/flang/test/Evaluate/folding09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_folding.sh %s %flang %t ! 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-lit/Fir/fir-ops.fir b/flang/test/Fir/fir-ops.fir similarity index 100% rename from flang/test-lit/Fir/fir-ops.fir rename to flang/test/Fir/fir-ops.fir diff --git a/flang/test-lit/Fir/fir-types.fir b/flang/test/Fir/fir-types.fir similarity index 100% rename from flang/test-lit/Fir/fir-types.fir rename to flang/test/Fir/fir-types.fir diff --git a/flang/test-lit/Lower/pre-fir-tree01.f90 b/flang/test/Lower/pre-fir-tree01.f90 similarity index 100% rename from flang/test-lit/Lower/pre-fir-tree01.f90 rename to flang/test/Lower/pre-fir-tree01.f90 diff --git a/flang/test-lit/Lower/pre-fir-tree02.f90 b/flang/test/Lower/pre-fir-tree02.f90 similarity index 100% rename from flang/test-lit/Lower/pre-fir-tree02.f90 rename to flang/test/Lower/pre-fir-tree02.f90 diff --git a/flang/test-lit/Lower/pre-fir-tree03.f90 b/flang/test/Lower/pre-fir-tree03.f90 similarity index 100% rename from flang/test-lit/Lower/pre-fir-tree03.f90 rename to flang/test/Lower/pre-fir-tree03.f90 diff --git a/flang/test-lit/Lower/pre-fir-tree04.f90 b/flang/test/Lower/pre-fir-tree04.f90 similarity index 100% rename from flang/test-lit/Lower/pre-fir-tree04.f90 rename to flang/test/Lower/pre-fir-tree04.f90 diff --git a/flang/test/Semantics/getdefinition03-b.f90 b/flang/test/Semantics/Inputs/getdefinition03-b.f90 similarity index 100% rename from flang/test/Semantics/getdefinition03-b.f90 rename to flang/test/Semantics/Inputs/getdefinition03-b.f90 diff --git a/flang/test/Semantics/getsymbols02-a.f90 b/flang/test/Semantics/Inputs/getsymbols02-a.f90 similarity index 83% rename from flang/test/Semantics/getsymbols02-a.f90 rename to flang/test/Semantics/Inputs/getsymbols02-a.f90 index b9d75fde50af..04786c0bea6d 100644 --- a/flang/test/Semantics/getsymbols02-a.f90 +++ b/flang/test/Semantics/Inputs/getsymbols02-a.f90 @@ -1,4 +1,4 @@ -! RUN: ${F18} -fparse-only %s +! EXEC: ${F18} -fparse-only %s module mm2a implicit none diff --git a/flang/test/Semantics/getsymbols02-b.f90 b/flang/test/Semantics/Inputs/getsymbols02-b.f90 similarity index 86% rename from flang/test/Semantics/getsymbols02-b.f90 rename to flang/test/Semantics/Inputs/getsymbols02-b.f90 index 7ed4cbe0d894..1e6bb8b03a6c 100644 --- a/flang/test/Semantics/getsymbols02-b.f90 +++ b/flang/test/Semantics/Inputs/getsymbols02-b.f90 @@ -1,4 +1,4 @@ -! RUN: ${F18} -fparse-only %s +! EXEC: ${F18} -fparse-only %s module mm2b use mm2a diff --git a/flang/test/Semantics/getsymbols02-c.f90 b/flang/test/Semantics/Inputs/getsymbols02-c.f90 similarity index 70% rename from flang/test/Semantics/getsymbols02-c.f90 rename to flang/test/Semantics/Inputs/getsymbols02-c.f90 index cb66680906bb..52a210b91699 100644 --- a/flang/test/Semantics/getsymbols02-c.f90 +++ b/flang/test/Semantics/Inputs/getsymbols02-c.f90 @@ -7,6 +7,6 @@ PROGRAM helloworld i = callget5() ENDPROGRAM -! RUN: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s ! CHECK:callget5: mm2b ! CHECK:get5: mm2a diff --git a/flang/test/Semantics/getsymbols03-b.f90 b/flang/test/Semantics/Inputs/getsymbols03-b.f90 similarity index 100% rename from flang/test/Semantics/getsymbols03-b.f90 rename to flang/test/Semantics/Inputs/getsymbols03-b.f90 diff --git a/flang/test-lit/Semantics/Inputs/mod-file-changed.f90 b/flang/test/Semantics/Inputs/mod-file-changed.f90 similarity index 100% rename from flang/test-lit/Semantics/Inputs/mod-file-changed.f90 rename to flang/test/Semantics/Inputs/mod-file-changed.f90 diff --git a/flang/test-lit/Semantics/Inputs/mod-file-unchanged.f90 b/flang/test/Semantics/Inputs/mod-file-unchanged.f90 similarity index 100% rename from flang/test-lit/Semantics/Inputs/mod-file-unchanged.f90 rename to flang/test/Semantics/Inputs/mod-file-unchanged.f90 diff --git a/flang/test/Semantics/modfile09-a.f90 b/flang/test/Semantics/Inputs/modfile09-a.f90 similarity index 100% rename from flang/test/Semantics/modfile09-a.f90 rename to flang/test/Semantics/Inputs/modfile09-a.f90 diff --git a/flang/test/Semantics/modfile09-b.f90 b/flang/test/Semantics/Inputs/modfile09-b.f90 similarity index 100% rename from flang/test/Semantics/modfile09-b.f90 rename to flang/test/Semantics/Inputs/modfile09-b.f90 diff --git a/flang/test/Semantics/modfile09-c.f90 b/flang/test/Semantics/Inputs/modfile09-c.f90 similarity index 100% rename from flang/test/Semantics/modfile09-c.f90 rename to flang/test/Semantics/Inputs/modfile09-c.f90 diff --git a/flang/test/Semantics/modfile09-d.f90 b/flang/test/Semantics/Inputs/modfile09-d.f90 similarity index 100% rename from flang/test/Semantics/modfile09-d.f90 rename to flang/test/Semantics/Inputs/modfile09-d.f90 diff --git a/flang/test/Semantics/allocate01.f90 b/flang/test/Semantics/allocate01.f90 index 6944e2b30090..0948230a3ea2 100644 --- a/flang/test/Semantics/allocate01.f90 +++ b/flang/test/Semantics/allocate01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 7f1693849b5f..13a68e811a55 100644 --- a/flang/test/Semantics/allocate02.f90 +++ b/flang/test/Semantics/allocate02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate03.f90 b/flang/test/Semantics/allocate03.f90 index f86b44ceca2e..63598f0786df 100644 --- a/flang/test/Semantics/allocate03.f90 +++ b/flang/test/Semantics/allocate03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 3b7ce25bf00e..40e7562938df 100644 --- a/flang/test/Semantics/allocate04.f90 +++ b/flang/test/Semantics/allocate04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate05.f90 b/flang/test/Semantics/allocate05.f90 index 5d3f2b58160f..84814b674735 100644 --- a/flang/test/Semantics/allocate05.f90 +++ b/flang/test/Semantics/allocate05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate06.f90 b/flang/test/Semantics/allocate06.f90 index 606f9cec32fe..1de258ccfb46 100644 --- a/flang/test/Semantics/allocate06.f90 +++ b/flang/test/Semantics/allocate06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in ALLOCATE statements diff --git a/flang/test/Semantics/allocate07.f90 b/flang/test/Semantics/allocate07.f90 index 3641ae62a3c6..14077a24013e 100644 --- a/flang/test/Semantics/allocate07.f90 +++ b/flang/test/Semantics/allocate07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 732ce270a78b..3e235fcc9cdc 100644 --- a/flang/test/Semantics/allocate08.f90 +++ b/flang/test/Semantics/allocate08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 e47cd8134b49..61046fb13ce2 100644 --- a/flang/test/Semantics/allocate09.f90 +++ b/flang/test/Semantics/allocate09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 b3e5d77da315..c15dc57b4472 100644 --- a/flang/test/Semantics/allocate10.f90 +++ b/flang/test/Semantics/allocate10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 45128ac8d69d..b883edc4980a 100644 --- a/flang/test/Semantics/allocate11.f90 +++ b/flang/test/Semantics/allocate11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 8e46b6ddf3d0..41de8edc83ed 100644 --- a/flang/test/Semantics/allocate12.f90 +++ b/flang/test/Semantics/allocate12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in ALLOCATE statements subroutine C941_C942b_C950(xsrc, x1, a2, b2, cx1, ca2, cb1, cb2, c1) diff --git a/flang/test/Semantics/allocate13.f90 b/flang/test/Semantics/allocate13.f90 index 5e01c3853748..b7010f5b0c89 100644 --- a/flang/test/Semantics/allocate13.f90 +++ b/flang/test/Semantics/allocate13.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 b227d15b4ba1..0449ff774c36 100644 --- a/flang/test/Semantics/altreturn01.f90 +++ b/flang/test/Semantics/altreturn01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 ab59a3246588..74ff96933a83 100644 --- a/flang/test/Semantics/altreturn02.f90 +++ b/flang/test/Semantics/altreturn02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check subroutine with alt return SUBROUTINE TEST (N, *, *) diff --git a/flang/test/Semantics/altreturn03.f90 b/flang/test/Semantics/altreturn03.f90 index 15410e716752..73a63860efc7 100644 --- a/flang/test/Semantics/altreturn03.f90 +++ b/flang/test/Semantics/altreturn03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 5e930c781c2b..e3714fb92223 100644 --- a/flang/test/Semantics/altreturn04.f90 +++ b/flang/test/Semantics/altreturn04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Functions cannot use alt return REAL FUNCTION altreturn01(X) diff --git a/flang/test/Semantics/altreturn05.f90 b/flang/test/Semantics/altreturn05.f90 index 6669942d00cc..cbd222cba9e7 100644 --- a/flang/test/Semantics/altreturn05.f90 +++ b/flang/test/Semantics/altreturn05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test extension: RETURN from main program return !ok diff --git a/flang/test/Semantics/assign01.f90 b/flang/test/Semantics/assign01.f90 index b125da87ad22..bd41a5b5cc9f 100644 --- a/flang/test/Semantics/assign01.f90 +++ b/flang/test/Semantics/assign01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 5b3fa4f6da2b..e97be64d6aab 100644 --- a/flang/test/Semantics/assign02.f90 +++ b/flang/test/Semantics/assign02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Pointer assignment constraints 10.2.2.2 module m1 diff --git a/flang/test/Semantics/assign03.f90 b/flang/test/Semantics/assign03.f90 index 6127de22de4f..5b9fe269addc 100644 --- a/flang/test/Semantics/assign03.f90 +++ b/flang/test/Semantics/assign03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 b4214a4766f2..f8798138c15c 100644 --- a/flang/test/Semantics/assign04.f90 +++ b/flang/test/Semantics/assign04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 9.4.5 subroutine s1 type :: t(k, l) diff --git a/flang/test/Semantics/bad-forward-type.f90 b/flang/test/Semantics/bad-forward-type.f90 index a8f7a4c64af6..62ad9d4b2b4c 100644 --- a/flang/test/Semantics/bad-forward-type.f90 +++ b/flang/test/Semantics/bad-forward-type.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Forward references to derived types (error cases) !ERROR: The derived type 'undef' was forward-referenced but not defined diff --git a/flang/test/Semantics/bindings01.f90 b/flang/test/Semantics/bindings01.f90 index 72cab0832388..54aaacd2e9f8 100644 --- a/flang/test/Semantics/bindings01.f90 +++ b/flang/test/Semantics/bindings01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Confirm enforcement of constraints and restrictions in 7.5.7.3 ! and C779-C785. diff --git a/flang/test/Semantics/block-data01.f90 b/flang/test/Semantics/block-data01.f90 index 5abd0999c010..164709118f6f 100644 --- a/flang/test/Semantics/block-data01.f90 +++ b/flang/test/Semantics/block-data01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 727e6ab05eeb..7f7eec5b56c3 100644 --- a/flang/test/Semantics/blockconstruct01.f90 +++ b/flang/test/Semantics/blockconstruct01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 eb7203052fcf..2a1a95f312bf 100644 --- a/flang/test/Semantics/blockconstruct02.f90 +++ b/flang/test/Semantics/blockconstruct02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 cb016bb8080f..df5aff7699ea 100644 --- a/flang/test/Semantics/blockconstruct03.f90 +++ b/flang/test/Semantics/blockconstruct03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Tests implemented for this standard: ! Block Construct ! C1109 diff --git a/flang/test/Semantics/c_f_pointer.f90 b/flang/test/Semantics/c_f_pointer.f90 index 2f48574717b4..1064461c509d 100644 --- a/flang/test/Semantics/c_f_pointer.f90 +++ b/flang/test/Semantics/c_f_pointer.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Enforce 18.2.3.3 program test diff --git a/flang/test/Semantics/call01.f90 b/flang/test/Semantics/call01.f90 index d38fc904cfeb..88274dd42844 100644 --- a/flang/test/Semantics/call01.f90 +++ b/flang/test/Semantics/call01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 f60eabfd8e1e..2d23274da1b0 100644 --- a/flang/test/Semantics/call02.f90 +++ b/flang/test/Semantics/call02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 c994b9fa8519..098106aed45e 100644 --- a/flang/test/Semantics/call03.f90 +++ b/flang/test/Semantics/call03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 a3e727a770c8..3064fee5decc 100644 --- a/flang/test/Semantics/call04.f90 +++ b/flang/test/Semantics/call04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 368ec59b33b8..80f1874ff2d5 100644 --- a/flang/test/Semantics/call05.f90 +++ b/flang/test/Semantics/call05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 d9c8a0beee72..eb4bd3755f87 100644 --- a/flang/test/Semantics/call06.f90 +++ b/flang/test/Semantics/call06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 bd44e43b552c..f596e3600288 100644 --- a/flang/test/Semantics/call07.f90 +++ b/flang/test/Semantics/call07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 7fe42e7bd7ef..88ec7e3b4cca 100644 --- a/flang/test/Semantics/call08.f90 +++ b/flang/test/Semantics/call08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 06c304af4101..e27c78e4281f 100644 --- a/flang/test/Semantics/call09.f90 +++ b/flang/test/Semantics/call09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test 15.5.2.9(2,3,5) dummy procedure requirements module m diff --git a/flang/test/Semantics/call10.f90 b/flang/test/Semantics/call10.f90 index 00db9cd7319c..52983c9f18a0 100644 --- a/flang/test/Semantics/call10.f90 +++ b/flang/test/Semantics/call10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 254566fa38b8..b53b40334e93 100644 --- a/flang/test/Semantics/call11.f90 +++ b/flang/test/Semantics/call11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 ebcaab6fb903..3ce0812560ac 100644 --- a/flang/test/Semantics/call12.f90 +++ b/flang/test/Semantics/call12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 798de8fbf2d9..952a7d0c8b1d 100644 --- a/flang/test/Semantics/call13.f90 +++ b/flang/test/Semantics/call13.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 d6e94be51996..e25620b2694b 100644 --- a/flang/test/Semantics/call14.f90 +++ b/flang/test/Semantics/call14.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 ca935b91530f..08886e4e7c6d 100644 --- a/flang/test/Semantics/call15.f90 +++ b/flang/test/Semantics/call15.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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/canondo01.f90 b/flang/test/Semantics/canondo01.f90 index 46c82cba9c1d..51060f8a5f1d 100644 --- a/flang/test/Semantics/canondo01.f90 +++ b/flang/test/Semantics/canondo01.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: end do SUBROUTINE sub00(a,b,n,m) diff --git a/flang/test/Semantics/canondo02.f90 b/flang/test/Semantics/canondo02.f90 index 0389df4d52c8..62dbd4b0a024 100644 --- a/flang/test/Semantics/canondo02.f90 +++ b/flang/test/Semantics/canondo02.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: end do SUBROUTINE sub00(a,b,n,m) diff --git a/flang/test/Semantics/canondo03.f90 b/flang/test/Semantics/canondo03.f90 index f72b1ffd0180..4be30775221e 100644 --- a/flang/test/Semantics/canondo03.f90 +++ b/flang/test/Semantics/canondo03.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: 10 continue ! CHECK: end do diff --git a/flang/test/Semantics/canondo04.f90 b/flang/test/Semantics/canondo04.f90 index 763d62674084..452d77d0559e 100644 --- a/flang/test/Semantics/canondo04.f90 +++ b/flang/test/Semantics/canondo04.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: do [1-9] ! Figure out how to also execute this test. diff --git a/flang/test/Semantics/canondo05.f90 b/flang/test/Semantics/canondo05.f90 index f676eff82219..4550e9849fc4 100644 --- a/flang/test/Semantics/canondo05.f90 +++ b/flang/test/Semantics/canondo05.f90 @@ -1,5 +1,6 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s -! XXXRUN: ${F18} -fopenmp -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! XXXEXEC: ${F18} -fopenmp -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: do *[1-9] program P diff --git a/flang/test/Semantics/canondo06.f90 b/flang/test/Semantics/canondo06.f90 index 1e7235b9dc47..0aea3daed4f9 100644 --- a/flang/test/Semantics/canondo06.f90 +++ b/flang/test/Semantics/canondo06.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -fopenmp -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -fopenmp -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: do *[1-9] ! CHECK: omp simd diff --git a/flang/test/Semantics/canondo07.f90 b/flang/test/Semantics/canondo07.f90 index 59a524275efb..f5a0feef93d0 100644 --- a/flang/test/Semantics/canondo07.f90 +++ b/flang/test/Semantics/canondo07.f90 @@ -1,7 +1,8 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1131 -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: A DO loop should terminate with an END DO or CONTINUE program endDo diff --git a/flang/test/Semantics/canondo08.f90 b/flang/test/Semantics/canondo08.f90 index 7e5c158692b1..c5bfb56f1288 100644 --- a/flang/test/Semantics/canondo08.f90 +++ b/flang/test/Semantics/canondo08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 @@ -5,7 +6,7 @@ ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo09.f90 b/flang/test/Semantics/canondo09.f90 index 98c422124c21..99956a03fe3d 100644 --- a/flang/test/Semantics/canondo09.f90 +++ b/flang/test/Semantics/canondo09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 @@ -5,7 +6,7 @@ ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo10.f90 b/flang/test/Semantics/canondo10.f90 index 0827be6de97f..93d060dd9aaa 100644 --- a/flang/test/Semantics/canondo10.f90 +++ b/flang/test/Semantics/canondo10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 @@ -5,7 +6,7 @@ ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo11.f90 b/flang/test/Semantics/canondo11.f90 index 9019f34ae09f..8e98a24bb87f 100644 --- a/flang/test/Semantics/canondo11.f90 +++ b/flang/test/Semantics/canondo11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 @@ -5,7 +6,7 @@ ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo12.f90 b/flang/test/Semantics/canondo12.f90 index 1809afaedac1..48fde32faf99 100644 --- a/flang/test/Semantics/canondo12.f90 +++ b/flang/test/Semantics/canondo12.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo13.f90 b/flang/test/Semantics/canondo13.f90 index 09a3e4c13fd7..b317d7963aa3 100644 --- a/flang/test/Semantics/canondo13.f90 +++ b/flang/test/Semantics/canondo13.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo14.f90 b/flang/test/Semantics/canondo14.f90 index f6d422ab7436..69bd748212be 100644 --- a/flang/test/Semantics/canondo14.f90 +++ b/flang/test/Semantics/canondo14.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo15.f90 b/flang/test/Semantics/canondo15.f90 index 2726cd914aa6..f58959898345 100644 --- a/flang/test/Semantics/canondo15.f90 +++ b/flang/test/Semantics/canondo15.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo16.f90 b/flang/test/Semantics/canondo16.f90 index e1819c00049e..d5c5db464930 100644 --- a/flang/test/Semantics/canondo16.f90 +++ b/flang/test/Semantics/canondo16.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard -I../../tools/f18/include %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard -I../../tools/f18/include %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo17.f90 b/flang/test/Semantics/canondo17.f90 index e9194b0fd592..a687fb2fefac 100644 --- a/flang/test/Semantics/canondo17.f90 +++ b/flang/test/Semantics/canondo17.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo18.f90 b/flang/test/Semantics/canondo18.f90 index 6760d20622db..3e3f18b05174 100644 --- a/flang/test/Semantics/canondo18.f90 +++ b/flang/test/Semantics/canondo18.f90 @@ -1,10 +1,11 @@ +! RUN: %S/test_any.sh %s %flang %t ! Error test -- DO loop uses obsolete loop termination statement ! See R1131 and C1133 ! By default, this is not an error and label do are rewritten to non-label do. ! A warning is generated with -Mstandard -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do diff --git a/flang/test/Semantics/canondo19.f90 b/flang/test/Semantics/canondo19.f90 index 35da0076422b..82bad39e950f 100644 --- a/flang/test/Semantics/canondo19.f90 +++ b/flang/test/Semantics/canondo19.f90 @@ -1,7 +1,8 @@ +! RUN: %S/test_any.sh %s %flang %t ! Check that if there is a label or a name on an label-do-stmt, ! then it is not lost when rewriting it to an non-label-do-stmt. -! RUN: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols -Mstandard %s 2>&1 | ${FileCheck} %s ! CHECK: end do ! CHECK: 2 do diff --git a/flang/test/Semantics/coarrays01.f90 b/flang/test/Semantics/coarrays01.f90 index 491ebb22cbd8..3e8e1672a47b 100644 --- a/flang/test/Semantics/coarrays01.f90 +++ b/flang/test/Semantics/coarrays01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 4fb46ba56b71..c70f0defad6a 100644 --- a/flang/test/Semantics/complex01.f90 +++ b/flang/test/Semantics/complex01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 f16838e9ca78..9f24996f41a0 100644 --- a/flang/test/Semantics/computed-goto01.f90 +++ b/flang/test/Semantics/computed-goto01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 7c40c65ec6b0..eea61a827052 100644 --- a/flang/test/Semantics/computed-goto02.f90 +++ b/flang/test/Semantics/computed-goto02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 89d3337ba536..5ca97ade6998 100644 --- a/flang/test/Semantics/critical01.f90 +++ b/flang/test/Semantics/critical01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !C1117 subroutine test1(a, i) diff --git a/flang/test/Semantics/critical02.f90 b/flang/test/Semantics/critical02.f90 index 2c75ac2ab33e..ba5e0f4c55a7 100644 --- a/flang/test/Semantics/critical02.f90 +++ b/flang/test/Semantics/critical02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !C1118 subroutine test1 diff --git a/flang/test/Semantics/critical03.f90 b/flang/test/Semantics/critical03.f90 index 6bf45531a170..2ab60e5d59a9 100644 --- a/flang/test/Semantics/critical03.f90 +++ b/flang/test/Semantics/critical03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !C1119 subroutine test1(a, i) diff --git a/flang/test/Semantics/critical04.f90 b/flang/test/Semantics/critical04.f90 index 3b5f7e8e1383..136e31baa621 100644 --- a/flang/test/Semantics/critical04.f90 +++ b/flang/test/Semantics/critical04.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: Control flow escapes from CRITICAL subroutine test1(a, i) diff --git a/flang/test/Semantics/data01.f90 b/flang/test/Semantics/data01.f90 index c8af31a50d07..4bdf7ea9dd4a 100644 --- a/flang/test/Semantics/data01.f90 +++ b/flang/test/Semantics/data01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 4cd593697b23..ac6902622d83 100644 --- a/flang/test/Semantics/data02.f90 +++ b/flang/test/Semantics/data02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check that expressions are analyzed in data statements subroutine s1 diff --git a/flang/test/Semantics/deallocate01.f90 b/flang/test/Semantics/deallocate01.f90 index 2bb4236c3b82..8aaf14496d71 100644 --- a/flang/test/Semantics/deallocate01.f90 +++ b/flang/test/Semantics/deallocate01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test that DEALLOCATE works INTEGER, PARAMETER :: maxvalue=1024 diff --git a/flang/test/Semantics/deallocate04.f90 b/flang/test/Semantics/deallocate04.f90 index 7183e2d3ecb8..2a1ad62b9920 100644 --- a/flang/test/Semantics/deallocate04.f90 +++ b/flang/test/Semantics/deallocate04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 765753ac0c64..fdc66004e2ce 100644 --- a/flang/test/Semantics/deallocate05.f90 +++ b/flang/test/Semantics/deallocate05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in DEALLOCATE statements Module share diff --git a/flang/test/Semantics/doconcurrent01.f90 b/flang/test/Semantics/doconcurrent01.f90 index bba111ad25c2..a4161a5c3073 100644 --- a/flang/test/Semantics/doconcurrent01.f90 +++ b/flang/test/Semantics/doconcurrent01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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/doconcurrent02.f90 b/flang/test/Semantics/doconcurrent02.f90 index c09977d23228..db120b62bc45 100644 --- a/flang/test/Semantics/doconcurrent02.f90 +++ b/flang/test/Semantics/doconcurrent02.f90 @@ -1,7 +1,8 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative tests: we don't want DO CONCURRENT semantics constraints checked ! when the loops are not DO CONCURRENT -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: image control statement not allowed in DO CONCURRENT ! CHECK-NOT: RETURN not allowed in DO CONCURRENT ! CHECK-NOT: call to impure procedure in DO CONCURRENT not allowed diff --git a/flang/test/Semantics/doconcurrent03.f90 b/flang/test/Semantics/doconcurrent03.f90 index ffaca88b9906..cfefd92cc3b0 100644 --- a/flang/test/Semantics/doconcurrent03.f90 +++ b/flang/test/Semantics/doconcurrent03.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: Control flow escapes from DO CONCURRENT ! CHECK: branch into loop body from outside ! CHECK: the loop branched into diff --git a/flang/test/Semantics/doconcurrent04.f90 b/flang/test/Semantics/doconcurrent04.f90 index 8182477020f0..51ec5737a154 100644 --- a/flang/test/Semantics/doconcurrent04.f90 +++ b/flang/test/Semantics/doconcurrent04.f90 @@ -1,5 +1,6 @@ +! RUN: %S/test_any.sh %s %flang %t ! C1122 The index-name shall be a named scalar variable of type integer. -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: Must have INTEGER type, but is REAL\\(4\\) subroutine do_concurrent_test1(n) diff --git a/flang/test/Semantics/doconcurrent05.f90 b/flang/test/Semantics/doconcurrent05.f90 index 8c46192e915e..d92ef6d18322 100644 --- a/flang/test/Semantics/doconcurrent05.f90 +++ b/flang/test/Semantics/doconcurrent05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 2f181fe9de6b..f178b7a11640 100644 --- a/flang/test/Semantics/doconcurrent06.f90 +++ b/flang/test/Semantics/doconcurrent06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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/doconcurrent07.f90 b/flang/test/Semantics/doconcurrent07.f90 index 5cc70c00896a..661d51a71be5 100644 --- a/flang/test/Semantics/doconcurrent07.f90 +++ b/flang/test/Semantics/doconcurrent07.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK-NOT: exit from DO CONCURRENT construct subroutine do_concurrent_test1(n) diff --git a/flang/test/Semantics/doconcurrent08.f90 b/flang/test/Semantics/doconcurrent08.f90 index f6773995e202..91a077fade49 100644 --- a/flang/test/Semantics/doconcurrent08.f90 +++ b/flang/test/Semantics/doconcurrent08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 6745f1f2740e..2261f184e3cc 100644 --- a/flang/test/Semantics/dosemantics01.f90 +++ b/flang/test/Semantics/dosemantics01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 0b3165a88270..96047f0a3678 100644 --- a/flang/test/Semantics/dosemantics02.f90 +++ b/flang/test/Semantics/dosemantics02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 4792ae6572de..c063a7b8c854 100644 --- a/flang/test/Semantics/dosemantics03.f90 +++ b/flang/test/Semantics/dosemantics03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Issue 458 -- semantic checks for a normal DO loop. The DO variable ! and the initial, final, and step expressions must be INTEGER if the ! options for standard conformance and turning warnings into errors diff --git a/flang/test/Semantics/dosemantics04.f90 b/flang/test/Semantics/dosemantics04.f90 index 7c0743517f17..35a3c9493ca2 100644 --- a/flang/test/Semantics/dosemantics04.f90 +++ b/flang/test/Semantics/dosemantics04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 c7e27d53aec4..f565f9b71679 100644 --- a/flang/test/Semantics/dosemantics05.f90 +++ b/flang/test/Semantics/dosemantics05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 fd5b0a86bab8..41b9598970b5 100644 --- a/flang/test/Semantics/dosemantics06.f90 +++ b/flang/test/Semantics/dosemantics06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 9b871fd6f3e4..f1450dda31eb 100644 --- a/flang/test/Semantics/dosemantics07.f90 +++ b/flang/test/Semantics/dosemantics07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 e6e313372ff8..388fb75254f8 100644 --- a/flang/test/Semantics/dosemantics08.f90 +++ b/flang/test/Semantics/dosemantics08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 425e71e3db54..46136f29c74e 100644 --- a/flang/test/Semantics/dosemantics09.f90 +++ b/flang/test/Semantics/dosemantics09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 7bd7bbbb7c85..561f9b7fb7ea 100644 --- a/flang/test/Semantics/dosemantics10.f90 +++ b/flang/test/Semantics/dosemantics10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 50d69608215c..760f9f5f9b60 100644 --- a/flang/test/Semantics/dosemantics11.f90 +++ b/flang/test/Semantics/dosemantics11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 b1ee8a02707d..48ecd14feda5 100644 --- a/flang/test/Semantics/dosemantics12.f90 +++ b/flang/test/Semantics/dosemantics12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved. ! ! Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/flang/test/Semantics/equivalence01.f90 b/flang/test/Semantics/equivalence01.f90 index a6e70e6ab53f..31b561e33b0d 100644 --- a/flang/test/Semantics/equivalence01.f90 +++ b/flang/test/Semantics/equivalence01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 378bd2d2368e..a479e863dcaf 100644 --- a/flang/test/Semantics/expr-errors01.f90 +++ b/flang/test/Semantics/expr-errors01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 2df05a2cd523..d1aac68bf008 100644 --- a/flang/test/Semantics/expr-errors02.f90 +++ b/flang/test/Semantics/expr-errors02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test specification expressions module m diff --git a/flang/test/Semantics/forall01.f90 b/flang/test/Semantics/forall01.f90 index e90a17f62978..ecb243bc2a09 100644 --- a/flang/test/Semantics/forall01.f90 +++ b/flang/test/Semantics/forall01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine forall1 real :: a(9) !ERROR: 'i' is already declared in this scoping unit diff --git a/flang/test/Semantics/getdefinition01.f90 b/flang/test/Semantics/getdefinition01.f90 index 880e282bca9f..4a2fdd760568 100644 --- a/flang/test/Semantics/getdefinition01.f90 +++ b/flang/test/Semantics/getdefinition01.f90 @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-definition returning source position of symbol definition. - module m1 private :: f contains @@ -16,12 +16,12 @@ contains end function end module -! RUN: echo %t 1>&2; -! RUN: ${F18} -fget-definition 7 17 18 -fparse-only %s > %t; -! RUN: ${F18} -fget-definition 8 20 23 -fparse-only %s >> %t; -! RUN: ${F18} -fget-definition 15 3 4 -fparse-only %s >> %t; -! RUN: ${F18} -fget-definition -fparse-only %s >> %t 2>&1; -! RUN: cat %t | ${FileCheck} %s +! EXEC: echo %t 1>&2; +! EXEC: ${F18} -fget-definition 7 17 18 -fparse-only %s > %t; +! EXEC: ${F18} -fget-definition 8 20 23 -fparse-only %s >> %t; +! EXEC: ${F18} -fget-definition 15 3 4 -fparse-only %s >> %t; +! EXEC: ${F18} -fget-definition -fparse-only %s >> %t 2>&1; +! EXEC: cat %t | ${FileCheck} %s ! CHECK:x:.*getdefinition01.f90, 6, 21-22 ! CHECK:yyy:.*getdefinition01.f90, 6, 24-27 ! CHECK:x:.*getdefinition01.f90, 14, 24-25 diff --git a/flang/test/Semantics/getdefinition02.f b/flang/test/Semantics/getdefinition02.f index 3f8ac46a1380..58391a27d530 100644 --- a/flang/test/Semantics/getdefinition02.f +++ b/flang/test/Semantics/getdefinition02.f @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-definition with fixed form. - module m2 private :: f contains @@ -17,10 +17,10 @@ end function end module -! RUN: ${F18} -fget-definition 8 9 10 -fparse-only %s > %t; -! RUN: ${F18} -fget-definition 9 26 29 -fparse-only %s >> %t; -! RUN: ${F18} -fget-definition 16 9 10 -fparse-only %s >> %t; -! RUN: cat %t | ${FileCheck} %s +! EXEC: ${F18} -fget-definition 8 9 10 -fparse-only %s > %t; +! EXEC: ${F18} -fget-definition 9 26 29 -fparse-only %s >> %t; +! EXEC: ${F18} -fget-definition 16 9 10 -fparse-only %s >> %t; +! EXEC: cat %t | ${FileCheck} %s ! CHECK:x:.*getdefinition02.f, 6, 27-28 ! CHECK:yyy:.*getdefinition02.f, 6, 30-33 ! CHECK:x:.*getdefinition02.f, 15, 30-31 diff --git a/flang/test/Semantics/getdefinition03-a.f90 b/flang/test/Semantics/getdefinition03-a.f90 index 5b287d28665c..81ad276ec29a 100644 --- a/flang/test/Semantics/getdefinition03-a.f90 +++ b/flang/test/Semantics/getdefinition03-a.f90 @@ -1,6 +1,6 @@ ! Tests -fget-definition with INCLUDE - -INCLUDE "getdefinition03-b.f90" +!RUN: %S/test_any.sh %s %flang %t +INCLUDE "Inputs/getdefinition03-b.f90" program main use m3 @@ -8,8 +8,8 @@ program main x = f end program -! RUN: ${F18} -fget-definition 8 6 7 -fparse-only %s > %t; -! RUN: ${F18} -fget-definition 8 2 3 -fparse-only %s >> %t; -! RUN: cat %t | ${FileCheck} %s; +! EXEC: ${F18} -fget-definition 8 6 7 -fparse-only %s > %t; +! EXEC: ${F18} -fget-definition 8 2 3 -fparse-only %s >> %t; +! EXEC: cat %t | ${FileCheck} %s; ! CHECK:f:.*getdefinition03-b.f90, 2, 12-13 ! CHECK:x:.*getdefinition03-a.f90, 7, 13-14 diff --git a/flang/test/Semantics/getdefinition04.f90 b/flang/test/Semantics/getdefinition04.f90 index 80ace6544386..aa143a161852 100644 --- a/flang/test/Semantics/getdefinition04.f90 +++ b/flang/test/Semantics/getdefinition04.f90 @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-definition with COMMON block with same name as variable. - program main integer :: x integer :: y @@ -7,5 +7,5 @@ program main x = y end program -! RUN: ${F18} -fget-definition 7 3 4 -fparse-only %s | ${FileCheck} %s +! EXEC: ${F18} -fget-definition 7 3 4 -fparse-only %s | ${FileCheck} %s ! CHECK:x:.*getdefinition04.f90, 4, 14-15 diff --git a/flang/test/Semantics/getdefinition05.f90 b/flang/test/Semantics/getdefinition05.f90 index 3ad69778ead0..e1115a245611 100644 --- a/flang/test/Semantics/getdefinition05.f90 +++ b/flang/test/Semantics/getdefinition05.f90 @@ -1,6 +1,6 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-symbols-sources with BLOCK that contains same variable name as ! another in an outer scope. - program main integer :: x integer :: y @@ -13,9 +13,9 @@ program main end program !! Inner x -! RUN: ${F18} -fget-definition 10 5 6 -fparse-only %s > %t; +! EXEC: ${F18} -fget-definition 10 5 6 -fparse-only %s > %t; ! CHECK:x:.*getdefinition05.f90, 8, 16-17 !! Outer y -! RUN: ${F18} -fget-definition 12 7 8 -fparse-only %s >> %t; +! EXEC: ${F18} -fget-definition 12 7 8 -fparse-only %s >> %t; ! CHECK:y:.*getdefinition05.f90, 6, 14-15 -! RUN: cat %t | ${FileCheck} %s; +! EXEC: cat %t | ${FileCheck} %s; diff --git a/flang/test/Semantics/getsymbols01.f90 b/flang/test/Semantics/getsymbols01.f90 index 9f754f9374d0..d102807ed482 100644 --- a/flang/test/Semantics/getsymbols01.f90 +++ b/flang/test/Semantics/getsymbols01.f90 @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-symbols-sources finding all symbols in file. - module mm1 private :: f contains @@ -16,7 +16,7 @@ contains end function end module -! RUN: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s ! CHECK-ONCE:mm1:.*getsymbols01.f90, 3, 8-11 ! CHECK-ONCE:f:.*getsymbols01.f90, 13, 26-27 ! CHECK-ONCE:s:.*getsymbols01.f90, 6, 18-19 diff --git a/flang/test/Semantics/getsymbols02.f90 b/flang/test/Semantics/getsymbols02.f90 new file mode 100644 index 000000000000..4172b7418f9e --- /dev/null +++ b/flang/test/Semantics/getsymbols02.f90 @@ -0,0 +1 @@ +!RUN: %S/test_any.sh '%S/Inputs/getsymbols02-*' %f18 %t \ No newline at end of file diff --git a/flang/test/Semantics/getsymbols03-a.f90 b/flang/test/Semantics/getsymbols03-a.f90 index 1d6d3b6aaba2..5616f97629ce 100644 --- a/flang/test/Semantics/getsymbols03-a.f90 +++ b/flang/test/Semantics/getsymbols03-a.f90 @@ -1,6 +1,6 @@ ! Tests -fget-symbols with INCLUDE - -INCLUDE "getsymbols03-b.f90" +!RUN: %S/test_any.sh %s %flang %t +INCLUDE "Inputs/getsymbols03-b.f90" program main use mm3 @@ -8,7 +8,7 @@ program main x = f end program -! RUN: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s ! CHECK:mm3:.*getsymbols03-b.f90, 1, 8-11 ! CHECK:f:.*getsymbols03-b.f90, 2, 12-13 ! CHECK:main:.*getsymbols03-a.f90, 5, 9-13 diff --git a/flang/test/Semantics/getsymbols04.f90 b/flang/test/Semantics/getsymbols04.f90 index d4a83aecb5d9..06f739c71137 100644 --- a/flang/test/Semantics/getsymbols04.f90 +++ b/flang/test/Semantics/getsymbols04.f90 @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-symbols-sources with COMMON. - program main integer :: x integer :: y @@ -7,7 +7,7 @@ program main x = y end program -! RUN: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s ! CHECK:x:.*getsymbols04.f90, 4, 14-15 ! CHECK:y:.*getsymbols04.f90, 5, 14-15 ! CHECK:x:.*getsymbols04.f90, 6, 11-12 diff --git a/flang/test/Semantics/getsymbols05.f90 b/flang/test/Semantics/getsymbols05.f90 index c65a2a6f5a99..f905313675cd 100644 --- a/flang/test/Semantics/getsymbols05.f90 +++ b/flang/test/Semantics/getsymbols05.f90 @@ -1,5 +1,5 @@ +!RUN: %S/test_any.sh %s %flang %t ! Tests -fget-symbols-sources with COMMON. - program main integer :: x integer :: y @@ -10,7 +10,7 @@ program main x = y end program -! RUN: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -fget-symbols-sources -fparse-only %s 2>&1 | ${FileCheck} %s ! CHECK:x:.*getsymbols05.f90, 4, 14-15 ! CHECK:y:.*getsymbols05.f90, 5, 14-15 ! CHECK:x:.*getsymbols05.f90, 7, 16-17 diff --git a/flang/test/Semantics/if_arith01.f90 b/flang/test/Semantics/if_arith01.f90 index 43365c64ad3a..5ec06b47485d 100644 --- a/flang/test/Semantics/if_arith01.f90 +++ b/flang/test/Semantics/if_arith01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 fc94e151cf14..f8e24b42dffa 100644 --- a/flang/test/Semantics/if_arith02.f90 +++ b/flang/test/Semantics/if_arith02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 fd30eb2ee954..1e5eb67d184c 100644 --- a/flang/test/Semantics/if_arith03.f90 +++ b/flang/test/Semantics/if_arith03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !ERROR: label '600' was not found diff --git a/flang/test/Semantics/if_arith04.f90 b/flang/test/Semantics/if_arith04.f90 index 360d596762b1..9a436cd5eb67 100644 --- a/flang/test/Semantics/if_arith04.f90 +++ b/flang/test/Semantics/if_arith04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 66398def9805..c133b7d8cc9f 100644 --- a/flang/test/Semantics/if_construct01.f90 +++ b/flang/test/Semantics/if_construct01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 5177f388b493..9ba6caa45355 100644 --- a/flang/test/Semantics/if_construct02.f90 +++ b/flang/test/Semantics/if_construct02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 e111f6519d26..51454a9d2116 100644 --- a/flang/test/Semantics/if_stmt01.f90 +++ b/flang/test/Semantics/if_stmt01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 483e92d2c940..71c458381ac2 100644 --- a/flang/test/Semantics/if_stmt02.f90 +++ b/flang/test/Semantics/if_stmt02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 dd869b2cad0a..2a2595404960 100644 --- a/flang/test/Semantics/if_stmt03.f90 +++ b/flang/test/Semantics/if_stmt03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 318fe760322c..f0893f7ed33f 100644 --- a/flang/test/Semantics/implicit01.f90 +++ b/flang/test/Semantics/implicit01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 d77c3f55c6e6..5d2b6e09474f 100644 --- a/flang/test/Semantics/implicit02.f90 +++ b/flang/test/Semantics/implicit02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 343471ad5a15..9636743233a3 100644 --- a/flang/test/Semantics/implicit03.f90 +++ b/flang/test/Semantics/implicit03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 004dbe65549d..86adb95f9852 100644 --- a/flang/test/Semantics/implicit04.f90 +++ b/flang/test/Semantics/implicit04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 50039a421eaf..7649c228fa44 100644 --- a/flang/test/Semantics/implicit05.f90 +++ b/flang/test/Semantics/implicit05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 225052cd5e89..3f6672008d53 100644 --- a/flang/test/Semantics/implicit06.f90 +++ b/flang/test/Semantics/implicit06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 8201c3dcb0e3..68fa37de8ce7 100644 --- a/flang/test/Semantics/implicit07.f90 +++ b/flang/test/Semantics/implicit07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t implicit none(external) external x call x diff --git a/flang/test/Semantics/implicit08.f90 b/flang/test/Semantics/implicit08.f90 index a56382e4154c..44e96d89855e 100644 --- a/flang/test/Semantics/implicit08.f90 +++ b/flang/test/Semantics/implicit08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 block !ERROR: IMPLICIT statement is not allowed in a BLOCK construct diff --git a/flang/test/Semantics/init01.f90 b/flang/test/Semantics/init01.f90 index b160a99dfc2f..1fc1ed877fa3 100644 --- a/flang/test/Semantics/init01.f90 +++ b/flang/test/Semantics/init01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Object pointer initializer error tests subroutine test(j) diff --git a/flang/test/Semantics/int-literals.f90 b/flang/test/Semantics/int-literals.f90 index b3b966996f53..3c48b7e1b7da 100644 --- a/flang/test/Semantics/int-literals.f90 +++ b/flang/test/Semantics/int-literals.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 c951943a4bc7..81b537d7e4c5 100644 --- a/flang/test/Semantics/io01.f90 +++ b/flang/test/Semantics/io01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 65e6b263bb8b..7cb901d34027 100644 --- a/flang/test/Semantics/io02.f90 +++ b/flang/test/Semantics/io02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t integer :: unit10 = 10 integer :: unit11 = 11 diff --git a/flang/test/Semantics/io03.f90 b/flang/test/Semantics/io03.f90 index 71425b8869c5..a6696176b126 100644 --- a/flang/test/Semantics/io03.f90 +++ b/flang/test/Semantics/io03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 68b217f57a61..09776ef94ab1 100644 --- a/flang/test/Semantics/io04.f90 +++ b/flang/test/Semantics/io04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 5b36f9ba923e..1df878197237 100644 --- a/flang/test/Semantics/io05.f90 +++ b/flang/test/Semantics/io05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t character*20 c(25), cv character(kind=1,len=59) msg logical*2 v(5), lv diff --git a/flang/test/Semantics/io06.f90 b/flang/test/Semantics/io06.f90 index d4ea73e51154..eba437c86c86 100644 --- a/flang/test/Semantics/io06.f90 +++ b/flang/test/Semantics/io06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t character(kind=1,len=100) msg1 character(kind=2,len=200) msg2 integer(1) stat1 diff --git a/flang/test/Semantics/io07.f90 b/flang/test/Semantics/io07.f90 index 4677be23ec54..9462a099d67e 100644 --- a/flang/test/Semantics/io07.f90 +++ b/flang/test/Semantics/io07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 1001 format(A) !ERROR: Format statement must be labeled diff --git a/flang/test/Semantics/io08.f90 b/flang/test/Semantics/io08.f90 index db25da188b9f..1b75e8094a9a 100644 --- a/flang/test/Semantics/io08.f90 +++ b/flang/test/Semantics/io08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t write(*,*) write(*,'()') write(*,'(A)') diff --git a/flang/test/Semantics/io09.f90 b/flang/test/Semantics/io09.f90 index dba5ae53692a..5f50e4e0151e 100644 --- a/flang/test/Semantics/io09.f90 +++ b/flang/test/Semantics/io09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 fa38c3d38e3d..90ae8b194330 100644 --- a/flang/test/Semantics/io10.f90 +++ b/flang/test/Semantics/io10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -Mstandard write(*, '(B0)') diff --git a/flang/test/Semantics/kinds01.f90 b/flang/test/Semantics/kinds01.f90 index 3bef1bb39762..388ca2342167 100644 --- a/flang/test/Semantics/kinds01.f90 +++ b/flang/test/Semantics/kinds01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !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 9fb921345d85..0983be564738 100644 --- a/flang/test/Semantics/kinds02.f90 +++ b/flang/test/Semantics/kinds02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 63239e08d05a..b4ba7e67bb6c 100644 --- a/flang/test/Semantics/kinds03.f90 +++ b/flang/test/Semantics/kinds03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !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 ecf3a446cc3d..af6a8965ca65 100644 --- a/flang/test/Semantics/kinds04.f90 +++ b/flang/test/Semantics/kinds04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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/label01.F90 b/flang/test/Semantics/label01.F90 index d4fd7331fb5d..e63bd547ee75 100644 --- a/flang/test/Semantics/label01.F90 +++ b/flang/test/Semantics/label01.F90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s -o /dev/null 2>&1 | grep -v 'procedure conflicts' | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s -o /dev/null 2>&1 | grep -v 'procedure conflicts' | ${FileCheck} %s ! CHECK-NOT: error:[[:space:]] ! FIXME: filter out the array/function syntax issues (procedure conflicts) diff --git a/flang/test/Semantics/label02.f90 b/flang/test/Semantics/label02.f90 index f7b61953b630..6aa052d52d66 100644 --- a/flang/test/Semantics/label02.f90 +++ b/flang/test/Semantics/label02.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: label '0' is out of range ! CHECK: label '100000' is out of range ! CHECK: label '123456' is out of range diff --git a/flang/test/Semantics/label03.f90 b/flang/test/Semantics/label03.f90 index 0ee40e95602f..a33b2f33a9b3 100644 --- a/flang/test/Semantics/label03.f90 +++ b/flang/test/Semantics/label03.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: DO loop doesn't properly nest ! CHECK: DO loop conflicts ! CHECK: label '30' cannot be found diff --git a/flang/test/Semantics/label04.f90 b/flang/test/Semantics/label04.f90 index d9de328642cd..a3f3586763ee 100644 --- a/flang/test/Semantics/label04.f90 +++ b/flang/test/Semantics/label04.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: branch into loop body from outside ! CHECK: do 10 i = 1, m ! CHECK: the loop branched into diff --git a/flang/test/Semantics/label05.f90 b/flang/test/Semantics/label05.f90 index 53f99df8fa6b..09bd9fa2b0f0 100644 --- a/flang/test/Semantics/label05.f90 +++ b/flang/test/Semantics/label05.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: label '50' was not found ! CHECK: label '55' is not in scope ! CHECK: '70' not a branch target diff --git a/flang/test/Semantics/label06.f90 b/flang/test/Semantics/label06.f90 index 42f6631f59ab..4e633d3df552 100644 --- a/flang/test/Semantics/label06.f90 +++ b/flang/test/Semantics/label06.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: label '10' is not in scope ! CHECK: label '20' was not found ! CHECK: '30' not a branch target diff --git a/flang/test/Semantics/label07.f90 b/flang/test/Semantics/label07.f90 index 0f6b57c42f5c..62755082e030 100644 --- a/flang/test/Semantics/label07.f90 +++ b/flang/test/Semantics/label07.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: '30' not a branch target ! CHECK: control flow use of '30' ! CHECK: label '10' is not in scope diff --git a/flang/test/Semantics/label08.f90 b/flang/test/Semantics/label08.f90 index db51c6772c34..140ceb33ec68 100644 --- a/flang/test/Semantics/label08.f90 +++ b/flang/test/Semantics/label08.f90 @@ -1,6 +1,7 @@ +! RUN: %S/test_any.sh %s %flang %t ! negative test -- invalid labels, out of range -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: CYCLE construct-name is not in scope ! CHECK: IF construct name unexpected ! CHECK: unnamed IF statement diff --git a/flang/test/Semantics/label09.f90 b/flang/test/Semantics/label09.f90 index 0ec9efabedcb..a74263d58315 100644 --- a/flang/test/Semantics/label09.f90 +++ b/flang/test/Semantics/label09.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: label '60' was not found subroutine s(a) diff --git a/flang/test/Semantics/label10.f90 b/flang/test/Semantics/label10.f90 index 23a0a055cb63..377108c95dd5 100644 --- a/flang/test/Semantics/label10.f90 +++ b/flang/test/Semantics/label10.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: '60' not a FORMAT ! CHECK: data transfer use of '60' diff --git a/flang/test/Semantics/label11.f90 b/flang/test/Semantics/label11.f90 index 5b1866e4b193..924356615e3b 100644 --- a/flang/test/Semantics/label11.f90 +++ b/flang/test/Semantics/label11.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: BLOCK DATA subprogram name mismatch ! CHECK: should be ! CHECK: FUNCTION name mismatch diff --git a/flang/test/Semantics/label12.f90 b/flang/test/Semantics/label12.f90 index bd3455d2fa90..96607bc8e8f0 100644 --- a/flang/test/Semantics/label12.f90 +++ b/flang/test/Semantics/label12.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: expected end of statement subroutine s diff --git a/flang/test/Semantics/label13.f90 b/flang/test/Semantics/label13.f90 index b55ed6d94341..61501804d270 100644 --- a/flang/test/Semantics/label13.f90 +++ b/flang/test/Semantics/label13.f90 @@ -1,4 +1,5 @@ -! RUN: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s +! RUN: %S/test_any.sh %s %flang %t +! EXEC: ${F18} -funparse-with-symbols %s 2>&1 | ${FileCheck} %s ! CHECK: branch into loop body from outside ! CHECK: the loop branched into diff --git a/flang/test/Semantics/label14.f90 b/flang/test/Semantics/label14.f90 index 10a91c755b96..e6eb744f50e3 100644 --- a/flang/test/Semantics/label14.f90 +++ b/flang/test/Semantics/label14.f90 @@ -1,8 +1,9 @@ +! RUN: %S/test_any.sh %s %flang %t ! Tests implemented for this standard ! 11.1.4 - 4 It is permissible to branch to and end-block-stmt only withinh its ! Block Construct -! RUN: ${F18} %s 2>&1 | ${FileCheck} %s +! EXEC: ${F18} %s 2>&1 | ${FileCheck} %s ! CHECK: label '20' is not in scope subroutine s1 diff --git a/flang/test/Semantics/misc-declarations.f90 b/flang/test/Semantics/misc-declarations.f90 index a25e5ffbfbf4..9103ad7bcf7d 100644 --- a/flang/test/Semantics/misc-declarations.f90 +++ b/flang/test/Semantics/misc-declarations.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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-lit/Semantics/mod-file-rewriter.f90 b/flang/test/Semantics/mod-file-rewriter.f90 similarity index 100% rename from flang/test-lit/Semantics/mod-file-rewriter.f90 rename to flang/test/Semantics/mod-file-rewriter.f90 diff --git a/flang/test/Semantics/modfile01.f90 b/flang/test/Semantics/modfile01.f90 index 79f5e570bfce..d3cd5273f853 100644 --- a/flang/test/Semantics/modfile01.f90 +++ b/flang/test/Semantics/modfile01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 0f9ba86feb4b..9f460004415d 100644 --- a/flang/test/Semantics/modfile02.f90 +++ b/flang/test/Semantics/modfile02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 eedde939b068..9beb5308bd38 100644 --- a/flang/test/Semantics/modfile03.f90 +++ b/flang/test/Semantics/modfile03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Check modfile generation with use-association. module m1 diff --git a/flang/test/Semantics/modfile04.f90 b/flang/test/Semantics/modfile04.f90 index 0b5800387255..9dbd3adfeede 100644 --- a/flang/test/Semantics/modfile04.f90 +++ b/flang/test/Semantics/modfile04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! modfile with subprograms module m1 diff --git a/flang/test/Semantics/modfile05.f90 b/flang/test/Semantics/modfile05.f90 index e56023d191cb..49e3f47d4a68 100644 --- a/flang/test/Semantics/modfile05.f90 +++ b/flang/test/Semantics/modfile05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Use-association with VOLATILE or ASYNCHRONOUS module m1 diff --git a/flang/test/Semantics/modfile06.f90 b/flang/test/Semantics/modfile06.f90 index 94fe384dd094..5924b67c7daa 100644 --- a/flang/test/Semantics/modfile06.f90 +++ b/flang/test/Semantics/modfile06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Check modfile generation for external interface module m interface diff --git a/flang/test/Semantics/modfile07.f90 b/flang/test/Semantics/modfile07.f90 index 58734b360c1b..b4a49d9924e3 100644 --- a/flang/test/Semantics/modfile07.f90 +++ b/flang/test/Semantics/modfile07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 e23078b34dcd..7a2e20195f2d 100644 --- a/flang/test/Semantics/modfile08.f90 +++ b/flang/test/Semantics/modfile08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 new file mode 100644 index 000000000000..ec5813b48e51 --- /dev/null +++ b/flang/test/Semantics/modfile09.f90 @@ -0,0 +1 @@ +!RUN: %S/test_modfile.sh '%S/Inputs/modfile09-*' %f18 %t diff --git a/flang/test/Semantics/modfile10.f90 b/flang/test/Semantics/modfile10.f90 index 2340842b2843..dc91d8734b19 100644 --- a/flang/test/Semantics/modfile10.f90 +++ b/flang/test/Semantics/modfile10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 89df7d7a068b..ec4dd2f88099 100644 --- a/flang/test/Semantics/modfile11.f90 +++ b/flang/test/Semantics/modfile11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t 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 89f43ad350eb..ca43611984a4 100644 --- a/flang/test/Semantics/modfile12.f90 +++ b/flang/test/Semantics/modfile12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t 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 9205eabf6189..c4fcfe71751b 100644 --- a/flang/test/Semantics/modfile13.f90 +++ b/flang/test/Semantics/modfile13.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m character(2) :: z character(len=3) :: y diff --git a/flang/test/Semantics/modfile14.f90 b/flang/test/Semantics/modfile14.f90 index 16fbbc08b11c..1c4fa0e92076 100644 --- a/flang/test/Semantics/modfile14.f90 +++ b/flang/test/Semantics/modfile14.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m type t1 contains diff --git a/flang/test/Semantics/modfile15.f90 b/flang/test/Semantics/modfile15.f90 index 480ad8e77ab2..4cc8787f5d45 100644 --- a/flang/test/Semantics/modfile15.f90 +++ b/flang/test/Semantics/modfile15.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m type :: t procedure(a), pointer, pass :: c diff --git a/flang/test/Semantics/modfile16.f90 b/flang/test/Semantics/modfile16.f90 index e60106148504..acc17d54a282 100644 --- a/flang/test/Semantics/modfile16.f90 +++ b/flang/test/Semantics/modfile16.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t 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 0b91801e1081..33767a38028c 100644 --- a/flang/test/Semantics/modfile17.f90 +++ b/flang/test/Semantics/modfile17.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 39f719e4878a..032b0491045b 100644 --- a/flang/test/Semantics/modfile18.f90 +++ b/flang/test/Semantics/modfile18.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Tests folding of array constructors module m diff --git a/flang/test/Semantics/modfile19.f90 b/flang/test/Semantics/modfile19.f90 index 50d50ee6b1e2..fcb10b54e9d0 100644 --- a/flang/test/Semantics/modfile19.f90 +++ b/flang/test/Semantics/modfile19.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m implicit complex(8)(z) real :: x diff --git a/flang/test/Semantics/modfile20.f90 b/flang/test/Semantics/modfile20.f90 index 8677e3479ad2..90188c177c44 100644 --- a/flang/test/Semantics/modfile20.f90 +++ b/flang/test/Semantics/modfile20.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 3618ad0ab027..03349a32682d 100644 --- a/flang/test/Semantics/modfile21.f90 +++ b/flang/test/Semantics/modfile21.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m logical b bind(C) :: /cb2/ diff --git a/flang/test/Semantics/modfile22.f90 b/flang/test/Semantics/modfile22.f90 index deb365a7606c..6279ad78678a 100644 --- a/flang/test/Semantics/modfile22.f90 +++ b/flang/test/Semantics/modfile22.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Test character length conversions in constructors module m diff --git a/flang/test/Semantics/modfile23.f90 b/flang/test/Semantics/modfile23.f90 index 8bf33b542ed7..4b5637867e1d 100644 --- a/flang/test/Semantics/modfile23.f90 +++ b/flang/test/Semantics/modfile23.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 dc9c7d52a8df..ec446f9e8d3c 100644 --- a/flang/test/Semantics/modfile24.f90 +++ b/flang/test/Semantics/modfile24.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 5c16ead42951..210935df2515 100644 --- a/flang/test/Semantics/modfile25.f90 +++ b/flang/test/Semantics/modfile25.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Test compile-time analysis of shapes. module m1 diff --git a/flang/test/Semantics/modfile26.f90 b/flang/test/Semantics/modfile26.f90 index 44d43c6ca788..5064122a3740 100644 --- a/flang/test/Semantics/modfile26.f90 +++ b/flang/test/Semantics/modfile26.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 ae577d84985c..2a6e23f6f464 100644 --- a/flang/test/Semantics/modfile27.f90 +++ b/flang/test/Semantics/modfile27.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 c53ab04dfc2d..18a349de5ba1 100644 --- a/flang/test/Semantics/modfile28.f90 +++ b/flang/test/Semantics/modfile28.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 7753e22d0f3e..7afa55120be1 100644 --- a/flang/test/Semantics/modfile29.f90 +++ b/flang/test/Semantics/modfile29.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 427025b91635..ef05b9395139 100644 --- a/flang/test/Semantics/modfile30.f90 +++ b/flang/test/Semantics/modfile30.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 ec00f9f0ccb9..a29256fe46a2 100644 --- a/flang/test/Semantics/modfile31.f90 +++ b/flang/test/Semantics/modfile31.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Test 7.6 enum values module m1 diff --git a/flang/test/Semantics/modfile32.f90 b/flang/test/Semantics/modfile32.f90 index 6db201e852c0..ea5b55a94d05 100644 --- a/flang/test/Semantics/modfile32.f90 +++ b/flang/test/Semantics/modfile32.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! 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 23a510bf4008..d5474c799f77 100644 --- a/flang/test/Semantics/modfile33.f90 +++ b/flang/test/Semantics/modfile33.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Resolution of user-defined operators 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/modfile34.f90 b/flang/test/Semantics/modfile34.f90 index 16bacf7ade03..59b0fd1a447f 100644 --- a/flang/test/Semantics/modfile34.f90 +++ b/flang/test/Semantics/modfile34.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t ! Test resolution of type-bound generics. module m1 diff --git a/flang/test/Semantics/modfile35.f90 b/flang/test/Semantics/modfile35.f90 index c1d1c9541b1f..9ef35747e947 100644 --- a/flang/test/Semantics/modfile35.f90 +++ b/flang/test/Semantics/modfile35.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_modfile.sh %s %f18 %t module m1 type :: t1 contains diff --git a/flang/test/Semantics/namelist01.f90 b/flang/test/Semantics/namelist01.f90 index 81acecbfc725..f659c998c7ef 100644 --- a/flang/test/Semantics/namelist01.f90 +++ b/flang/test/Semantics/namelist01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test for checking namelist constraints, C8103-C8105 module dup diff --git a/flang/test/Semantics/null01.f90 b/flang/test/Semantics/null01.f90 index f6f5fa79975e..09c6dce22c48 100644 --- a/flang/test/Semantics/null01.f90 +++ b/flang/test/Semantics/null01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! NULL() intrinsic function error tests subroutine test diff --git a/flang/test/Semantics/nullify01.f90 b/flang/test/Semantics/nullify01.f90 index a8a4c7d1c2b8..9af635f8f08c 100644 --- a/flang/test/Semantics/nullify01.f90 +++ b/flang/test/Semantics/nullify01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test that NULLIFY works Module share diff --git a/flang/test/Semantics/nullify02.f90 b/flang/test/Semantics/nullify02.f90 index 2d611f3b7859..49bcc9ef5d11 100644 --- a/flang/test/Semantics/nullify02.f90 +++ b/flang/test/Semantics/nullify02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Check for semantic errors in NULLIFY statements INTEGER, PARAMETER :: maxvalue=1024 diff --git a/flang/test/Semantics/omp-atomic.f90 b/flang/test/Semantics/omp-atomic.f90 index 9a9d027f82e3..760d1ee4f619 100644 --- a/flang/test/Semantics/omp-atomic.f90 +++ b/flang/test/Semantics/omp-atomic.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! OPTIONS: -fopenmp ! Check OpenMP 2.13.6 atomic Construct diff --git a/flang/test/Semantics/omp-clause-validity01.f90 b/flang/test/Semantics/omp-clause-validity01.f90 index d624564cd20b..523b2eeb6c10 100644 --- a/flang/test/Semantics/omp-clause-validity01.f90 +++ b/flang/test/Semantics/omp-clause-validity01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! OPTIONS: -fopenmp ! Check OpenMP clause validity for the following directives: diff --git a/flang/test/Semantics/omp-declarative-directive.f90 b/flang/test/Semantics/omp-declarative-directive.f90 index 3a7933d25cb7..639ed7d4d895 100644 --- a/flang/test/Semantics/omp-declarative-directive.f90 +++ b/flang/test/Semantics/omp-declarative-directive.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! OPTIONS: -fopenmp ! Check OpenMP declarative directives diff --git a/flang/test/Semantics/omp-device-constructs.f90 b/flang/test/Semantics/omp-device-constructs.f90 index e87cb119dba4..7973dc2ef77f 100644 --- a/flang/test/Semantics/omp-device-constructs.f90 +++ b/flang/test/Semantics/omp-device-constructs.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! OPTIONS: -fopenmp ! Check OpenMP clause validity for the following directives: ! 2.10 Device constructs diff --git a/flang/test/Semantics/omp-loop-association.f90 b/flang/test/Semantics/omp-loop-association.f90 index 65b79fd5b476..22e9365b2f3f 100644 --- a/flang/test/Semantics/omp-loop-association.f90 +++ b/flang/test/Semantics/omp-loop-association.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! OPTIONS: -fopenmp ! Check the association between OpenMPLoopConstruct and DoConstruct diff --git a/flang/test/Semantics/omp-nested01.f90 b/flang/test/Semantics/omp-nested01.f90 index 15b1713f6707..0e7220222217 100644 --- a/flang/test/Semantics/omp-nested01.f90 +++ b/flang/test/Semantics/omp-nested01.f90 @@ -1,3 +1,5 @@ +! RUN: %S/test_errors.sh %s %flang %t +!XFAIL: * ! OPTIONS: -fopenmp ! Check OpenMP 2.17 Nesting of Regions diff --git a/flang/test/Semantics/omp-resolve01.f90 b/flang/test/Semantics/omp-resolve01.f90 index 003de6eae171..528915e88f8d 100644 --- a/flang/test/Semantics/omp-resolve01.f90 +++ b/flang/test/Semantics/omp-resolve01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -fopenmp ! 2.4 An array section designates a subset of the elements in an array. Although diff --git a/flang/test/Semantics/omp-resolve02.f90 b/flang/test/Semantics/omp-resolve02.f90 index 3703c74cfa96..3d341662b2da 100644 --- a/flang/test/Semantics/omp-resolve02.f90 +++ b/flang/test/Semantics/omp-resolve02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -fopenmp ! Test the effect to name resolution from illegal clause diff --git a/flang/test/Semantics/omp-resolve03.f90 b/flang/test/Semantics/omp-resolve03.f90 index 165bfc35773b..a896ef30c9f4 100644 --- a/flang/test/Semantics/omp-resolve03.f90 +++ b/flang/test/Semantics/omp-resolve03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.3 Although variables in common blocks can be accessed by use association diff --git a/flang/test/Semantics/omp-resolve04.f90 b/flang/test/Semantics/omp-resolve04.f90 index d9ea847cb1b8..234013898b87 100644 --- a/flang/test/Semantics/omp-resolve04.f90 +++ b/flang/test/Semantics/omp-resolve04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses diff --git a/flang/test/Semantics/omp-resolve05.f90 b/flang/test/Semantics/omp-resolve05.f90 index 0ba4fd816d92..ebc50476b499 100644 --- a/flang/test/Semantics/omp-resolve05.f90 +++ b/flang/test/Semantics/omp-resolve05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses diff --git a/flang/test/Semantics/omp-symbol01.f90 b/flang/test/Semantics/omp-symbol01.f90 index bec8e0450dd5..70782f3adf41 100644 --- a/flang/test/Semantics/omp-symbol01.f90 +++ b/flang/test/Semantics/omp-symbol01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! Test clauses that accept list. diff --git a/flang/test/Semantics/omp-symbol02.f90 b/flang/test/Semantics/omp-symbol02.f90 index 3419c61e13db..eddb6865e88c 100644 --- a/flang/test/Semantics/omp-symbol02.f90 +++ b/flang/test/Semantics/omp-symbol02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 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 a158ee87a425..54072a1e1049 100644 --- a/flang/test/Semantics/omp-symbol03.f90 +++ b/flang/test/Semantics/omp-symbol03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 1.4.1 Structure of the OpenMP Memory Model diff --git a/flang/test/Semantics/omp-symbol04.f90 b/flang/test/Semantics/omp-symbol04.f90 index 4824c78dc92b..052fa859cd32 100644 --- a/flang/test/Semantics/omp-symbol04.f90 +++ b/flang/test/Semantics/omp-symbol04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses diff --git a/flang/test/Semantics/omp-symbol05.f90 b/flang/test/Semantics/omp-symbol05.f90 index 7e4e691c5b96..1a4b42e1ce32 100644 --- a/flang/test/Semantics/omp-symbol05.f90 +++ b/flang/test/Semantics/omp-symbol05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.2 threadprivate Directive diff --git a/flang/test/Semantics/omp-symbol06.f90 b/flang/test/Semantics/omp-symbol06.f90 index c1d7581db8be..b8ac0fc06115 100644 --- a/flang/test/Semantics/omp-symbol06.f90 +++ b/flang/test/Semantics/omp-symbol06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.3 Data-Sharing Attribute Clauses diff --git a/flang/test/Semantics/omp-symbol07.f90 b/flang/test/Semantics/omp-symbol07.f90 index 170452959e01..c6cf500b41da 100644 --- a/flang/test/Semantics/omp-symbol07.f90 +++ b/flang/test/Semantics/omp-symbol07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! Generic tests diff --git a/flang/test/Semantics/omp-symbol08.f90 b/flang/test/Semantics/omp-symbol08.f90 index ac09e1690677..3a11933ac023 100644 --- a/flang/test/Semantics/omp-symbol08.f90 +++ b/flang/test/Semantics/omp-symbol08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !OPTIONS: -fopenmp ! 2.15.1.1 Predetermined rules for associated do-loops index variable diff --git a/flang/test/Semantics/procinterface01.f90 b/flang/test/Semantics/procinterface01.f90 index 5ab53d530ef3..b66206e24134 100644 --- a/flang/test/Semantics/procinterface01.f90 +++ b/flang/test/Semantics/procinterface01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! Tests for "proc-interface" semantics. ! These cases are all valid. diff --git a/flang/test/Semantics/resolve01.f90 b/flang/test/Semantics/resolve01.f90 index 0c257fe1be9f..eee8d662517f 100644 --- a/flang/test/Semantics/resolve01.f90 +++ b/flang/test/Semantics/resolve01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 ddc419b392c3..0d8e83b0ed29 100644 --- a/flang/test/Semantics/resolve02.f90 +++ b/flang/test/Semantics/resolve02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 63a88f143adc..773aaab3d453 100644 --- a/flang/test/Semantics/resolve03.f90 +++ b/flang/test/Semantics/resolve03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 8998acdca244..5132b9f780f6 100644 --- a/flang/test/Semantics/resolve04.f90 +++ b/flang/test/Semantics/resolve04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !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 d485a34b6532..d1960e1808b1 100644 --- a/flang/test/Semantics/resolve05.f90 +++ b/flang/test/Semantics/resolve05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t program p integer :: p ! this is ok end diff --git a/flang/test/Semantics/resolve06.f90 b/flang/test/Semantics/resolve06.f90 index 12e0e2d4b126..276feb3b4ee4 100644 --- a/flang/test/Semantics/resolve06.f90 +++ b/flang/test/Semantics/resolve06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t implicit none allocatable :: x integer :: x diff --git a/flang/test/Semantics/resolve07.f90 b/flang/test/Semantics/resolve07.f90 index 585bf633b2ad..f2e46f42a9d1 100644 --- a/flang/test/Semantics/resolve07.f90 +++ b/flang/test/Semantics/resolve07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 32274ce49df1..7252c79ef033 100644 --- a/flang/test/Semantics/resolve08.f90 +++ b/flang/test/Semantics/resolve08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 f288dad1a965..5104a371a639 100644 --- a/flang/test/Semantics/resolve09.f90 +++ b/flang/test/Semantics/resolve09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t integer :: y procedure() :: a procedure(real) :: b diff --git a/flang/test/Semantics/resolve10.f90 b/flang/test/Semantics/resolve10.f90 index 75a44a4f5e57..9990935899fa 100644 --- a/flang/test/Semantics/resolve10.f90 +++ b/flang/test/Semantics/resolve10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m public type t diff --git a/flang/test/Semantics/resolve11.f90 b/flang/test/Semantics/resolve11.f90 index 1114339a1bdb..d94c0f8c87d1 100644 --- a/flang/test/Semantics/resolve11.f90 +++ b/flang/test/Semantics/resolve11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m public i integer, private :: j diff --git a/flang/test/Semantics/resolve12.f90 b/flang/test/Semantics/resolve12.f90 index 1d2e1c398642..03bad9f5616f 100644 --- a/flang/test/Semantics/resolve12.f90 +++ b/flang/test/Semantics/resolve12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 end diff --git a/flang/test/Semantics/resolve13.f90 b/flang/test/Semantics/resolve13.f90 index c67c59287ac3..6fc03b1e8be0 100644 --- a/flang/test/Semantics/resolve13.f90 +++ b/flang/test/Semantics/resolve13.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 integer :: x integer, private :: y diff --git a/flang/test/Semantics/resolve14.f90 b/flang/test/Semantics/resolve14.f90 index d9693e3a1ffd..326fe8e94894 100644 --- a/flang/test/Semantics/resolve14.f90 +++ b/flang/test/Semantics/resolve14.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 integer :: x integer :: y diff --git a/flang/test/Semantics/resolve15.f90 b/flang/test/Semantics/resolve15.f90 index 6ad7b2534797..1cca8ce3dd7b 100644 --- a/flang/test/Semantics/resolve15.f90 +++ b/flang/test/Semantics/resolve15.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m real :: var interface i diff --git a/flang/test/Semantics/resolve16.f90 b/flang/test/Semantics/resolve16.f90 index 798b88bd8b2d..8ce084a26fe9 100644 --- a/flang/test/Semantics/resolve16.f90 +++ b/flang/test/Semantics/resolve16.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m interface subroutine sub0 diff --git a/flang/test/Semantics/resolve17.f90 b/flang/test/Semantics/resolve17.f90 index 360115333235..f9c9451dcfe2 100644 --- a/flang/test/Semantics/resolve17.f90 +++ b/flang/test/Semantics/resolve17.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 ed9d301106eb..dff395f4bc9b 100644 --- a/flang/test/Semantics/resolve18.f90 +++ b/flang/test/Semantics/resolve18.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 implicit none contains diff --git a/flang/test/Semantics/resolve19.f90 b/flang/test/Semantics/resolve19.f90 index 15f902a2ba46..f28f2b45abdf 100644 --- a/flang/test/Semantics/resolve19.f90 +++ b/flang/test/Semantics/resolve19.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m interface a subroutine s(x) diff --git a/flang/test/Semantics/resolve20.f90 b/flang/test/Semantics/resolve20.f90 index 33c67dd24923..38dbd2367fe4 100644 --- a/flang/test/Semantics/resolve20.f90 +++ b/flang/test/Semantics/resolve20.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m abstract interface subroutine foo diff --git a/flang/test/Semantics/resolve21.f90 b/flang/test/Semantics/resolve21.f90 index 38fc699ca018..764537a565f5 100644 --- a/flang/test/Semantics/resolve21.f90 +++ b/flang/test/Semantics/resolve21.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 type :: t integer :: i diff --git a/flang/test/Semantics/resolve22.f90 b/flang/test/Semantics/resolve22.f90 index cc8c9ed75dad..3549ec76e777 100644 --- a/flang/test/Semantics/resolve22.f90 +++ b/flang/test/Semantics/resolve22.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 504363b458e1..41644843bf1f 100644 --- a/flang/test/Semantics/resolve23.f90 +++ b/flang/test/Semantics/resolve23.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m type :: t real :: y diff --git a/flang/test/Semantics/resolve24.f90 b/flang/test/Semantics/resolve24.f90 index 87917ba09fbc..c2ce595d9054 100644 --- a/flang/test/Semantics/resolve24.f90 +++ b/flang/test/Semantics/resolve24.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 62e0ba6ff2d0..4d3ec8c81495 100644 --- a/flang/test/Semantics/resolve25.f90 +++ b/flang/test/Semantics/resolve25.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m interface foo subroutine s1(x) diff --git a/flang/test/Semantics/resolve26.f90 b/flang/test/Semantics/resolve26.f90 index 343ee1eb9160..f39366faaef0 100644 --- a/flang/test/Semantics/resolve26.f90 +++ b/flang/test/Semantics/resolve26.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 interface module subroutine s() diff --git a/flang/test/Semantics/resolve27.f90 b/flang/test/Semantics/resolve27.f90 index 3f04c1aa64fa..b10105ed9e7d 100644 --- a/flang/test/Semantics/resolve27.f90 +++ b/flang/test/Semantics/resolve27.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m interface module subroutine s() diff --git a/flang/test/Semantics/resolve28.f90 b/flang/test/Semantics/resolve28.f90 index 2843c2cbb071..0fd81807c97f 100644 --- a/flang/test/Semantics/resolve28.f90 +++ b/flang/test/Semantics/resolve28.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s type t end type diff --git a/flang/test/Semantics/resolve29.f90 b/flang/test/Semantics/resolve29.f90 index f692b0c0e91d..d328eba594e7 100644 --- a/flang/test/Semantics/resolve29.f90 +++ b/flang/test/Semantics/resolve29.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m type t1 end type diff --git a/flang/test/Semantics/resolve30.f90 b/flang/test/Semantics/resolve30.f90 index 69121e03ec1e..98777124b134 100644 --- a/flang/test/Semantics/resolve30.f90 +++ b/flang/test/Semantics/resolve30.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 integer x block diff --git a/flang/test/Semantics/resolve31.f90 b/flang/test/Semantics/resolve31.f90 index 982cb56ad564..3c61cd0bb9dc 100644 --- a/flang/test/Semantics/resolve31.f90 +++ b/flang/test/Semantics/resolve31.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 integer :: t0 !ERROR: 't0' is not a derived type diff --git a/flang/test/Semantics/resolve32.f90 b/flang/test/Semantics/resolve32.f90 index 6f6ed8fb0bf9..317a0ad9ed12 100644 --- a/flang/test/Semantics/resolve32.f90 +++ b/flang/test/Semantics/resolve32.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m2 public s2, s4 private s3 diff --git a/flang/test/Semantics/resolve33.f90 b/flang/test/Semantics/resolve33.f90 index 214a678eb567..4a37c5fb57aa 100644 --- a/flang/test/Semantics/resolve33.f90 +++ b/flang/test/Semantics/resolve33.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Derived type parameters module m diff --git a/flang/test/Semantics/resolve34.f90 b/flang/test/Semantics/resolve34.f90 index d9a2a233e8d4..9d148ff43046 100644 --- a/flang/test/Semantics/resolve34.f90 +++ b/flang/test/Semantics/resolve34.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Extended derived types module m1 diff --git a/flang/test/Semantics/resolve35.f90 b/flang/test/Semantics/resolve35.f90 index 6acd24f49b5e..7f6a8ea9492b 100644 --- a/flang/test/Semantics/resolve35.f90 +++ b/flang/test/Semantics/resolve35.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Construct names subroutine s1 diff --git a/flang/test/Semantics/resolve36.f90 b/flang/test/Semantics/resolve36.f90 index e74d6fb62cbf..438ad1aeca92 100644 --- a/flang/test/Semantics/resolve36.f90 +++ b/flang/test/Semantics/resolve36.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m1 interface module subroutine sub1(arg1) diff --git a/flang/test/Semantics/resolve37.f90 b/flang/test/Semantics/resolve37.f90 index ccc05f3d1715..a07ebbc6625b 100644 --- a/flang/test/Semantics/resolve37.f90 +++ b/flang/test/Semantics/resolve37.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 ebc29b7c8ed8..53e8db813380 100644 --- a/flang/test/Semantics/resolve38.f90 +++ b/flang/test/Semantics/resolve38.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! C772 module m1 type t1 diff --git a/flang/test/Semantics/resolve39.f90 b/flang/test/Semantics/resolve39.f90 index a5b50afe2062..d0052f16f863 100644 --- a/flang/test/Semantics/resolve39.f90 +++ b/flang/test/Semantics/resolve39.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 implicit none real(8) :: x = 2.0 diff --git a/flang/test/Semantics/resolve40.f90 b/flang/test/Semantics/resolve40.f90 index 1137126740af..95c2c9e8034c 100644 --- a/flang/test/Semantics/resolve40.f90 +++ b/flang/test/Semantics/resolve40.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t subroutine s1 namelist /nl/x block diff --git a/flang/test/Semantics/resolve41.f90 b/flang/test/Semantics/resolve41.f90 index 2f618675de60..e2bf877016ed 100644 --- a/flang/test/Semantics/resolve41.f90 +++ b/flang/test/Semantics/resolve41.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t module m implicit none real, parameter :: a = 8.0 diff --git a/flang/test/Semantics/resolve42.f90 b/flang/test/Semantics/resolve42.f90 index e71e4c881712..5b6ac9f88b2b 100644 --- a/flang/test/Semantics/resolve42.f90 +++ b/flang/test/Semantics/resolve42.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 ed2454a535ec..385dfedc34bd 100644 --- a/flang/test/Semantics/resolve43.f90 +++ b/flang/test/Semantics/resolve43.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 f6e7a89ba5c3..dd082adc89df 100644 --- a/flang/test/Semantics/resolve44.f90 +++ b/flang/test/Semantics/resolve44.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Error tests for recursive use of derived types. program main diff --git a/flang/test/Semantics/resolve45.f90 b/flang/test/Semantics/resolve45.f90 index ebc9e21b5137..e28dc33c4e72 100644 --- a/flang/test/Semantics/resolve45.f90 +++ b/flang/test/Semantics/resolve45.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 8a0385ae28b7..181ccfb5c280 100644 --- a/flang/test/Semantics/resolve46.f90 +++ b/flang/test/Semantics/resolve46.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 2c5f8141b967..04dab5616855 100644 --- a/flang/test/Semantics/resolve47.f90 +++ b/flang/test/Semantics/resolve47.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 ba3dea3c41f1..887505d16442 100644 --- a/flang/test/Semantics/resolve48.f90 +++ b/flang/test/Semantics/resolve48.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 ac470834ff91..97d2cbdb1267 100644 --- a/flang/test/Semantics/resolve49.f90 +++ b/flang/test/Semantics/resolve49.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test section subscript program p1 real :: a(10,10) diff --git a/flang/test/Semantics/resolve50.f90 b/flang/test/Semantics/resolve50.f90 index 7d3ad7e105a3..34d6f1c1d5d5 100644 --- a/flang/test/Semantics/resolve50.f90 +++ b/flang/test/Semantics/resolve50.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test coarray association in CHANGE TEAM statement subroutine s1 diff --git a/flang/test/Semantics/resolve51.f90 b/flang/test/Semantics/resolve51.f90 index 73dafaa406b5..de763ef49911 100644 --- a/flang/test/Semantics/resolve51.f90 +++ b/flang/test/Semantics/resolve51.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test SELECT TYPE errors: C1157 subroutine s1() diff --git a/flang/test/Semantics/resolve52.f90 b/flang/test/Semantics/resolve52.f90 index 3ee41dd3503f..846b412f05ca 100644 --- a/flang/test/Semantics/resolve52.f90 +++ b/flang/test/Semantics/resolve52.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 5cfe16410500..1aee5e79bcc9 100644 --- a/flang/test/Semantics/resolve53.f90 +++ b/flang/test/Semantics/resolve53.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 aed15410ddbc..f9f895fa7f05 100644 --- a/flang/test/Semantics/resolve54.f90 +++ b/flang/test/Semantics/resolve54.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 59f0027d9aef..98006bc0a07b 100644 --- a/flang/test/Semantics/resolve55.f90 +++ b/flang/test/Semantics/resolve55.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 65d5fa2c84b8..1efa535bd434 100644 --- a/flang/test/Semantics/resolve56.f90 +++ b/flang/test/Semantics/resolve56.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 c5e8661206ad..265decd3bcde 100644 --- a/flang/test/Semantics/resolve57.f90 +++ b/flang/test/Semantics/resolve57.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 00232dc9d843..db11e6779335 100644 --- a/flang/test/Semantics/resolve58.f90 +++ b/flang/test/Semantics/resolve58.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 e34fcaea01d2..0e6965a5d165 100644 --- a/flang/test/Semantics/resolve59.f90 +++ b/flang/test/Semantics/resolve59.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 843057d758c8..3232bc0fb87a 100644 --- a/flang/test/Semantics/resolve60.f90 +++ b/flang/test/Semantics/resolve60.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Testing 7.6 enum ! OK diff --git a/flang/test/Semantics/resolve61.f90 b/flang/test/Semantics/resolve61.f90 index 727b2643ca5c..eb5ba13a07a3 100644 --- a/flang/test/Semantics/resolve61.f90 +++ b/flang/test/Semantics/resolve61.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 06c3ed1afe63..5de3a45e900f 100644 --- a/flang/test/Semantics/resolve62.f90 +++ b/flang/test/Semantics/resolve62.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 49b4e7b0d20d..07ae767d676b 100644 --- a/flang/test/Semantics/resolve63.f90 +++ b/flang/test/Semantics/resolve63.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 360605a000ec..3be2ae14fd5d 100644 --- a/flang/test/Semantics/resolve64.f90 +++ b/flang/test/Semantics/resolve64.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !OPTIONS: -flogical-abbreviations -fxor-operator ! Like m4 in resolve63 but compiled with different options. diff --git a/flang/test/Semantics/resolve65.f90 b/flang/test/Semantics/resolve65.f90 index 8c3264cc36f9..9e1278b66dd5 100644 --- a/flang/test/Semantics/resolve65.f90 +++ b/flang/test/Semantics/resolve65.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 2b82b5f0ec13..d54fd2bfe66c 100644 --- a/flang/test/Semantics/resolve66.f90 +++ b/flang/test/Semantics/resolve66.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 3f2b2572ffc0..7a8537a0a65e 100644 --- a/flang/test/Semantics/resolve67.f90 +++ b/flang/test/Semantics/resolve67.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 06cd13716d43..6accdafd5263 100644 --- a/flang/test/Semantics/resolve68.f90 +++ b/flang/test/Semantics/resolve68.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! Test resolution of type-bound generics. module m1 diff --git a/flang/test/Semantics/resolve69.f90 b/flang/test/Semantics/resolve69.f90 index bf08c3a706b0..3bbc37e3f7aa 100644 --- a/flang/test/Semantics/resolve69.f90 +++ b/flang/test/Semantics/resolve69.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t 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 8824ea4249af..31f33c345b63 100644 --- a/flang/test/Semantics/resolve70.f90 +++ b/flang/test/Semantics/resolve70.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 d570233d4633..8c1c56fd9b0e 100644 --- a/flang/test/Semantics/resolve71.f90 +++ b/flang/test/Semantics/resolve71.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 6ff2603b2129..284fb2fc2055 100644 --- a/flang/test/Semantics/resolve72.f90 +++ b/flang/test/Semantics/resolve72.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 191be316b620..35f8429aeacf 100644 --- a/flang/test/Semantics/resolve73.f90 +++ b/flang/test/Semantics/resolve73.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 a674b1f37ac2..60927b198769 100644 --- a/flang/test/Semantics/resolve74.f90 +++ b/flang/test/Semantics/resolve74.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 2c63a36fe523..708ce8ffaeec 100644 --- a/flang/test/Semantics/resolve75.f90 +++ b/flang/test/Semantics/resolve75.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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/separate-module-procs.f90 b/flang/test/Semantics/separate-module-procs.f90 index ba3b1abcc991..33dfcd557fde 100644 --- a/flang/test/Semantics/separate-module-procs.f90 +++ b/flang/test/Semantics/separate-module-procs.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t !===--- separate-module-procs.f90 - Test separate module procedure ---------=== ! ! Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. diff --git a/flang/test/Semantics/stop01.f90 b/flang/test/Semantics/stop01.f90 index 91112b11a801..2ae8d65a84bb 100644 --- a/flang/test/Semantics/stop01.f90 +++ b/flang/test/Semantics/stop01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t program main implicit none integer :: i = -1 diff --git a/flang/test/Semantics/structconst01.f90 b/flang/test/Semantics/structconst01.f90 index a83286c422ab..68f0261cd85d 100644 --- a/flang/test/Semantics/structconst01.f90 +++ b/flang/test/Semantics/structconst01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 923aa6071b09..22428651fa1c 100644 --- a/flang/test/Semantics/structconst02.f90 +++ b/flang/test/Semantics/structconst02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 e637bc08d3e3..776b4d082309 100644 --- a/flang/test/Semantics/structconst03.f90 +++ b/flang/test/Semantics/structconst03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 a2d7421945f4..07a9d69df868 100644 --- a/flang/test/Semantics/structconst04.f90 +++ b/flang/test/Semantics/structconst04.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_errors.sh %s %flang %t ! 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 7a6476dddded..9d8cacd3d6b8 100644 --- a/flang/test/Semantics/symbol01.f90 +++ b/flang/test/Semantics/symbol01.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 ba048a20ef91..8f53c50580ed 100644 --- a/flang/test/Semantics/symbol02.f90 +++ b/flang/test/Semantics/symbol02.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 778794c1a14d..41a7cc26e694 100644 --- a/flang/test/Semantics/symbol03.f90 +++ b/flang/test/Semantics/symbol03.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 4bc42aca6296..678b8f19f55d 100644 --- a/flang/test/Semantics/symbol05.f90 +++ b/flang/test/Semantics/symbol05.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 804017bbdf13..b3b3e17b10da 100644 --- a/flang/test/Semantics/symbol06.f90 +++ b/flang/test/Semantics/symbol06.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !DEF: /main MainProgram program main !DEF: /main/t1 DerivedType diff --git a/flang/test/Semantics/symbol07.f90 b/flang/test/Semantics/symbol07.f90 index 787dfc5b0ec7..b387ec6c673b 100644 --- a/flang/test/Semantics/symbol07.f90 +++ b/flang/test/Semantics/symbol07.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !DEF: /main MainProgram program main implicit complex(z) diff --git a/flang/test/Semantics/symbol08.f90 b/flang/test/Semantics/symbol08.f90 index e0a65b84e7bb..801f7f449b20 100644 --- a/flang/test/Semantics/symbol08.f90 +++ b/flang/test/Semantics/symbol08.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !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 8dca1332a538..77d4a3416df3 100644 --- a/flang/test/Semantics/symbol09.f90 +++ b/flang/test/Semantics/symbol09.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !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 c9cf1ce6148a..e487764fa5a2 100644 --- a/flang/test/Semantics/symbol10.f90 +++ b/flang/test/Semantics/symbol10.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !DEF: /m1 Module module m1 contains diff --git a/flang/test/Semantics/symbol11.f90 b/flang/test/Semantics/symbol11.f90 index d3312eaa293b..e759310c8dcb 100644 --- a/flang/test/Semantics/symbol11.f90 +++ b/flang/test/Semantics/symbol11.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t !DEF: /s1 (Subroutine) Subprogram subroutine s1 implicit none diff --git a/flang/test/Semantics/symbol12.f90 b/flang/test/Semantics/symbol12.f90 index e13c09542720..22350f6c25e2 100644 --- a/flang/test/Semantics/symbol12.f90 +++ b/flang/test/Semantics/symbol12.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 76235db206da..640066ed76ea 100644 --- a/flang/test/Semantics/symbol13.f90 +++ b/flang/test/Semantics/symbol13.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 c990665e8d6e..d523e8d6f480 100644 --- a/flang/test/Semantics/symbol14.f90 +++ b/flang/test/Semantics/symbol14.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! "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 4ad09b395ffc..00298cfa1d84 100644 --- a/flang/test/Semantics/symbol15.f90 +++ b/flang/test/Semantics/symbol15.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! 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 a90ab83d2ac1..0650222e0833 100644 --- a/flang/test/Semantics/symbol16.f90 +++ b/flang/test/Semantics/symbol16.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! Statement functions !DEF: /p1 MainProgram diff --git a/flang/test/Semantics/symbol17.f90 b/flang/test/Semantics/symbol17.f90 index a861e2f6f260..a99c8245f6d7 100644 --- a/flang/test/Semantics/symbol17.f90 +++ b/flang/test/Semantics/symbol17.f90 @@ -1,3 +1,4 @@ +! RUN: %S/test_symbols.sh %s %flang %t ! Forward references to derived types (non-error cases) !DEF: /main MainProgram