diff --git a/flang/include/flang/Semantics/semantics.h b/flang/include/flang/Semantics/semantics.h --- a/flang/include/flang/Semantics/semantics.h +++ b/flang/include/flang/Semantics/semantics.h @@ -185,7 +185,7 @@ std::optional location_; std::vector searchDirectories_; std::string moduleDirectory_{"."s}; - std::string moduleFileSuffix_{".mod"}; + std::string moduleFileSuffix_{".f18.mod"}; bool warnOnNonstandardUsage_{false}; bool warningsAreErrors_{false}; bool debugModuleWriter_{false}; diff --git a/flang/test/Driver/Inputs/basictestmoduleone.mod b/flang/test/Driver/Inputs/basictestmoduleone.f18.mod rename from flang/test/Driver/Inputs/basictestmoduleone.mod rename to flang/test/Driver/Inputs/basictestmoduleone.f18.mod diff --git a/flang/test/Driver/Inputs/ieee_arithmetic.mod b/flang/test/Driver/Inputs/ieee_arithmetic.f18.mod rename from flang/test/Driver/Inputs/ieee_arithmetic.mod rename to flang/test/Driver/Inputs/ieee_arithmetic.f18.mod diff --git a/flang/test/Driver/Inputs/iso_fortran_env.mod b/flang/test/Driver/Inputs/iso_fortran_env.f18.mod rename from flang/test/Driver/Inputs/iso_fortran_env.mod rename to flang/test/Driver/Inputs/iso_fortran_env.f18.mod diff --git a/flang/test/Driver/Inputs/module-dir/basictestmoduleone.mod b/flang/test/Driver/Inputs/module-dir/basictestmoduleone.f18.mod rename from flang/test/Driver/Inputs/module-dir/basictestmoduleone.mod rename to flang/test/Driver/Inputs/module-dir/basictestmoduleone.f18.mod diff --git a/flang/test/Driver/Inputs/module-dir/basictestmoduletwo.mod b/flang/test/Driver/Inputs/module-dir/basictestmoduletwo.f18.mod rename from flang/test/Driver/Inputs/module-dir/basictestmoduletwo.mod rename to flang/test/Driver/Inputs/module-dir/basictestmoduletwo.f18.mod diff --git a/flang/test/Driver/fdefault.f90 b/flang/test/Driver/fdefault.f90 --- a/flang/test/Driver/fdefault.f90 +++ b/flang/test/Driver/fdefault.f90 @@ -5,22 +5,22 @@ ! FLANG DRIVER (flang-new) !-------------------------- ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang -fsyntax-only -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=NOOPTION +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=NOOPTION ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang -fsyntax-only -fdefault-real-8 -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=REAL8 +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=REAL8 ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang -fsyntax-only -fdefault-real-8 -fdefault-double-8 -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=DOUBLE8 +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=DOUBLE8 ! RUN: not %flang -fsyntax-only -fdefault-double-8 %s 2>&1 | FileCheck %s --check-prefix=ERROR !----------------------------------------- ! FRONTEND FLANG DRIVER (flang-new -fc1) !----------------------------------------- ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang_fc1 -fsyntax-only -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=NOOPTION +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=NOOPTION ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang_fc1 -fsyntax-only -fdefault-real-8 -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=REAL8 +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=REAL8 ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang_fc1 -fsyntax-only -fdefault-real-8 -fdefault-double-8 -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=DOUBLE8 +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=DOUBLE8 ! RUN: not %flang_fc1 -fsyntax-only -fdefault-double-8 %s 2>&1 | FileCheck %s --check-prefix=ERROR !----------------------------------------- diff --git a/flang/test/Driver/flarge-sizes.f90 b/flang/test/Driver/flarge-sizes.f90 --- a/flang/test/Driver/flarge-sizes.f90 +++ b/flang/test/Driver/flarge-sizes.f90 @@ -5,17 +5,17 @@ ! FLANG DRIVER (flang-new) !-------------------------- ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang -fsyntax-only -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=NOLARGE +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=NOLARGE ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang -fsyntax-only -flarge-sizes -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=LARGE +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=LARGE !----------------------------------------- ! FRONTEND FLANG DRIVER (flang-new -fc1) !----------------------------------------- ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang_fc1 -fsyntax-only -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=NOLARGE +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=NOLARGE ! RUN: rm -rf %t/dir-flang-new && mkdir -p %t/dir-flang-new && %flang_fc1 -fsyntax-only -flarge-sizes -module-dir %t/dir-flang-new %s 2>&1 -! RUN: cat %t/dir-flang-new/m.mod | FileCheck %s --check-prefix=LARGE +! RUN: cat %t/dir-flang-new/m.f18.mod | FileCheck %s --check-prefix=LARGE !----------------------------------------- ! EXPECTED OUTPUT WITHOUT -flarge-sizes diff --git a/flang/test/Driver/write-module.f90 b/flang/test/Driver/write-module.f90 --- a/flang/test/Driver/write-module.f90 +++ b/flang/test/Driver/write-module.f90 @@ -8,21 +8,21 @@ !-------------------------- ! RUN: rm -rf %t && mkdir -p %t/dir-flang ! RUN: cd %t && %flang -fsyntax-only -module-dir %t/dir-flang %s -! RUN: ls %t/dir-flang/testmodule.mod && not ls %t/testmodule.mod +! RUN: ls %t/dir-flang/testmodule.f18.mod && not ls %t/testmodule.f18.mod !--------------------------- ! -J (i.e. with space) !--------------------------- ! RUN: rm -rf %t && mkdir -p %t/dir-flang ! RUN: cd %t && %flang -fsyntax-only -J %t/dir-flang %s -! RUN: ls %t/dir-flang/testmodule.mod && not ls %t/testmodule.mod +! RUN: ls %t/dir-flang/testmodule.f18.mod && not ls %t/testmodule.f18.mod !------------------------------ ! -J (i.e. without space) !------------------------------ ! RUN: rm -rf %t && mkdir -p %t/dir-flang ! RUN: cd %t && %flang -fsyntax-only -J%t/dir-flang %s -! RUN: ls %t/dir-flang/testmodule.mod && not ls %t/testmodule.mod +! RUN: ls %t/dir-flang/testmodule.f18.mod && not ls %t/testmodule.f18.mod module testmodule type::t2 diff --git a/flang/test/Semantics/Inputs/modfile09-a.f90 b/flang/test/Semantics/Inputs/modfile09-a.f90 --- a/flang/test/Semantics/Inputs/modfile09-a.f90 +++ b/flang/test/Semantics/Inputs/modfile09-a.f90 @@ -6,7 +6,7 @@ end interface end -!Expect: m.mod +!Expect: m.f18.mod !module m !integer(4)::m1_x !interface diff --git a/flang/test/Semantics/Inputs/modfile09-b.f90 b/flang/test/Semantics/Inputs/modfile09-b.f90 --- a/flang/test/Semantics/Inputs/modfile09-b.f90 +++ b/flang/test/Semantics/Inputs/modfile09-b.f90 @@ -2,7 +2,7 @@ integer s1_x end -!Expect: m-s1.mod +!Expect: m-s1.f18.mod !submodule(m) s1 !integer(4)::s1_x !end diff --git a/flang/test/Semantics/Inputs/modfile09-c.f90 b/flang/test/Semantics/Inputs/modfile09-c.f90 --- a/flang/test/Semantics/Inputs/modfile09-c.f90 +++ b/flang/test/Semantics/Inputs/modfile09-c.f90 @@ -2,7 +2,7 @@ integer s2_x end -!Expect: m-s2.mod +!Expect: m-s2.f18.mod !submodule(m:s1) s2 !integer(4)::s2_x !end diff --git a/flang/test/Semantics/Inputs/modfile09-d.f90 b/flang/test/Semantics/Inputs/modfile09-d.f90 --- a/flang/test/Semantics/Inputs/modfile09-d.f90 +++ b/flang/test/Semantics/Inputs/modfile09-d.f90 @@ -2,7 +2,7 @@ integer s3_x end -!Expect: m-s3.mod +!Expect: m-s3.f18.mod !submodule(m:s2) s3 !integer(4)::s3_x !end diff --git a/flang/test/Semantics/getsymbols02.f90 b/flang/test/Semantics/getsymbols02.f90 --- a/flang/test/Semantics/getsymbols02.f90 +++ b/flang/test/Semantics/getsymbols02.f90 @@ -10,5 +10,5 @@ ! RUN: %flang_fc1 -fsyntax-only %S/Inputs/getsymbols02-a.f90 ! RUN: %flang_fc1 -fsyntax-only %S/Inputs/getsymbols02-b.f90 ! RUN: %flang_fc1 -fsyntax-only -fget-symbols-sources %s 2>&1 | FileCheck %s -! CHECK: callget5: .{{[/\\]}}mm2b.mod, -! CHECK: get5: .{{[/\\]}}mm2a.mod, +! CHECK: callget5: .{{[/\\]}}mm2b.f18.mod, +! CHECK: get5: .{{[/\\]}}mm2a.f18.mod, diff --git a/flang/test/Semantics/resolve12.f90 b/flang/test/Semantics/resolve12.f90 --- a/flang/test/Semantics/resolve12.f90 +++ b/flang/test/Semantics/resolve12.f90 @@ -6,7 +6,7 @@ end use m1 -!ERROR: Cannot read module file for module 'm2': Source file 'm2.mod' was not found +!ERROR: Cannot read module file for module 'm2': Source file 'm2.f18.mod' was not found use m2 !ERROR: 'sub' is not a module use sub diff --git a/flang/test/Semantics/resolve26.f90 b/flang/test/Semantics/resolve26.f90 --- a/flang/test/Semantics/resolve26.f90 +++ b/flang/test/Semantics/resolve26.f90 @@ -16,10 +16,10 @@ submodule(m1) s1 end -!ERROR: Cannot read module file for submodule 's1' of module 'm2': Source file 'm2-s1.mod' was not found +!ERROR: Cannot read module file for submodule 's1' of module 'm2': Source file 'm2-s1.f18.mod' was not found submodule(m2:s1) s2 end -!ERROR: Cannot read module file for module 'm3': Source file 'm3.mod' was not found +!ERROR: Cannot read module file for module 'm3': Source file 'm3.f18.mod' was not found submodule(m3:s1) s3 end diff --git a/flang/test/Semantics/test_modfile.sh b/flang/test/Semantics/test_modfile.sh --- a/flang/test/Semantics/test_modfile.sh +++ b/flang/test/Semantics/test_modfile.sh @@ -6,8 +6,8 @@ srcdir=$(dirname $0) source $srcdir/common.sh -actual=$temp/actual.mod -expect=$temp/expect.mod +actual=$temp/actual.f18.mod +expect=$temp/expect.f18.mod actual_files=$temp/actual_files prev_files=$temp/prev_files diffs=$temp/diffs diff --git a/flang/tools/f18/CMakeLists.txt b/flang/tools/f18/CMakeLists.txt --- a/flang/tools/f18/CMakeLists.txt +++ b/flang/tools/f18/CMakeLists.txt @@ -61,11 +61,3 @@ add_custom_target(module_files ALL DEPENDS ${MODULE_FILES}) install(TARGETS f18 DESTINATION bin) - -# This flang shell script will only work in a POSIX shell. -if (NOT WIN32) - file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/flang - DESTINATION ${CMAKE_BINARY_DIR}/bin - FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE) - install(PROGRAMS ${CMAKE_BINARY_DIR}/bin/flang DESTINATION bin) -endif() diff --git a/flang/tools/f18/f18.cpp b/flang/tools/f18/f18.cpp --- a/flang/tools/f18/f18.cpp +++ b/flang/tools/f18/f18.cpp @@ -87,7 +87,7 @@ std::string outputPath; // -o path std::vector searchDirectories; // -I dir std::string moduleDirectory{"."s}; // -module dir - std::string moduleFileSuffix{".mod"}; // -moduleSuffix suff + std::string moduleFileSuffix{".f18.mod"}; // -moduleSuffix suff bool forcedForm{false}; // -Mfixed or -Mfree appeared bool warnOnNonstandardUsage{false}; // -Mstandard bool warningsAreErrors{false}; // -Werror diff --git a/flang/tools/f18/flang b/flang/tools/f18/flang deleted file mode 100644 --- a/flang/tools/f18/flang +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -#===-- tools/f18/flang.sh -----------------------------------------*- sh -*-===# -# -# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -# See https://llvm.org/LICENSE.txt for license information. -# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -# -#===------------------------------------------------------------------------===# - -wd=$(cd $(dirname "$0")/.. && pwd) -opts="-module-suffix .f18.mod " -if ! $wd/bin/f18 $opts "$@" -then status=$? - echo flang: in $PWD, f18 failed with exit status $status: $wd/bin/f18 $opts "$@" >&2 - exit $status -fi