From a67da2ef66883488554fe3647b9e11aeb52c09e6 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 29 Nov 2022 09:41:59 -0500 Subject: Tests/FortranModules: add case for modules after "end interface X" When there is an `end interface X` in a file, subsequent modules should not be considered part of interface X. Issue: #24203 --- Tests/FortranModules/CMakeLists.txt | 10 ++++++++++ Tests/FortranModules/test_multi_module.f90 | 8 ++++++++ Tests/FortranModules/test_multi_module_main.f90 | 4 ++++ 3 files changed, 22 insertions(+) create mode 100644 Tests/FortranModules/test_multi_module.f90 create mode 100644 Tests/FortranModules/test_multi_module_main.f90 diff --git a/Tests/FortranModules/CMakeLists.txt b/Tests/FortranModules/CMakeLists.txt index 94f5939..5c76132 100644 --- a/Tests/FortranModules/CMakeLists.txt +++ b/Tests/FortranModules/CMakeLists.txt @@ -42,6 +42,16 @@ add_executable(test_module test_module_implementation.f90 test_module_interface.f90) +add_executable(test_multi_module + # Place this first so that we do not get "lucky" and find the module provided + # by compiling `test_multi_module.f90` first. + test_multi_module_main.f90 + test_multi_module.f90) +set_property(TARGET test_multi_module PROPERTY + JOB_POOL_COMPILE multi_module_serial) +set_property(GLOBAL APPEND PROPERTY + JOB_POOLS multi_module_serial=1) + add_executable(test_use_in_comment_fixedform test_use_in_comment_fixedform.f) set_property(SOURCE test_use_in_comment_fixedform.f PROPERTY Fortran_FORMAT FIXED) diff --git a/Tests/FortranModules/test_multi_module.f90 b/Tests/FortranModules/test_multi_module.f90 new file mode 100644 index 0000000..5b28f74 --- /dev/null +++ b/Tests/FortranModules/test_multi_module.f90 @@ -0,0 +1,8 @@ +module first + interface inner + end interface inner +end module first + +module second + REAL :: C = 1 +end module second diff --git a/Tests/FortranModules/test_multi_module_main.f90 b/Tests/FortranModules/test_multi_module_main.f90 new file mode 100644 index 0000000..afd6dff --- /dev/null +++ b/Tests/FortranModules/test_multi_module_main.f90 @@ -0,0 +1,4 @@ +PROGRAM MAINF90 + use second + PRINT *,'Constant is',C +END PROGRAM MAINF90 -- cgit v0.12