]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gfortran testsuite: implicitly cleanup-modules
authorBernhard Reutner-Fischer <aldot@gcc.gnu.org>
Thu, 15 Mar 2012 12:25:47 +0000 (13:25 +0100)
committerBernhard Reutner-Fischer <aldot@gcc.gnu.org>
Thu, 15 Mar 2012 12:25:47 +0000 (13:25 +0100)
gcc/ChangeLog:
2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
documentation.

gcc/testsuite/ChangeLog:

2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* gfortran.fortran-torture/compile/compile.exp: Simplify.
* gfortran.fortran-torture/execute/execute.exp: Likewise.
* lib/gcc-dg.exp (cleanup-modules): Move to ..
* lib/fortran-modules.exp: .. this new file. Adjust users.
* lib/gfortran-dg.exp (gfortran-dg-runtest,
gfortran-dg-debug-runtest): Call cleanup-modules.
* lib/fortran-torture.exp (fortran-torture-execute,
fortran-torture): Likewise.
* gfortran.dg/coarray/caf.exp: Likewise.
* lib/lto.exp: Likewise.
* gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
* gfortran.dg/class_4b.f03: Likewise.
* gfortran.dg/class_4c.f03: Likewise.
* gfortran.dg/class_45a.f03: Likewise.
* gfortran.dg/binding_label_tests_10.f03: Likewise.
* gfortran.dg/binding_label_tests_10_main.f03: Likewise.
* gfortran.dg/binding_label_tests_11.f03: Likewise.
* gfortran.dg/binding_label_tests_11_main.f03: Likewise.
* gfortran.dg/binding_label_tests_13.f03: Likewise.
* gfortran.dg/binding_label_tests_13_main.f03: Likewise.
* gfortran.dg/test_common_binding_labels_2.f03: Likewise.
* gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
* gfortran.dg/test_common_binding_labels_3.f03: Likewise.
* gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
* gfortran.dg/whole_file_28.f90: Likewise.
* gfortran.dg/whole_file_29.f90: Likewise.
* gfortran.dg/whole_file_30.f90: Likewise.
* gfortran.dg/whole_file_31.f90: Likewise.

From-SVN: r185430

28 files changed:
gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/binding_label_tests_10.f03
gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03
gcc/testsuite/gfortran.dg/binding_label_tests_11.f03
gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03
gcc/testsuite/gfortran.dg/binding_label_tests_13.f03
gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03
gcc/testsuite/gfortran.dg/class_45a.f03
gcc/testsuite/gfortran.dg/class_4a.f03
gcc/testsuite/gfortran.dg/class_4b.f03
gcc/testsuite/gfortran.dg/class_4c.f03
gcc/testsuite/gfortran.dg/coarray/caf.exp
gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03
gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03
gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03
gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03
gcc/testsuite/gfortran.dg/whole_file_28.f90
gcc/testsuite/gfortran.dg/whole_file_29.f90
gcc/testsuite/gfortran.dg/whole_file_30.f90
gcc/testsuite/gfortran.dg/whole_file_31.f90
gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
gcc/testsuite/lib/fortran-torture.exp
gcc/testsuite/lib/gcc-dg.exp
gcc/testsuite/lib/gfortran-dg.exp
gcc/testsuite/lib/lto.exp

index 14c3210f4441291d533b221175572b72257371a8..fbaaab3375c2d6621cb23c58467b195facdfae1b 100644 (file)
@@ -1,9 +1,14 @@
+2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
+       documentation.
+
 2012-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
        * config.gcc (target_type_format_char): New. Document it. Set it for
-        arm*-*-* .
+       arm*-*-* .
        * configure.ac (gnu_unique_option): Use target_type_format_char in test.
-        Comment rationale.
+       Comment rationale.
        * configure: Regenerate .
 
 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
index ea6fedb239067e01eb1ff0359575d284268ac70b..fc6f3e621d8a168e53973beadad7e963b7efdd81 100644 (file)
@@ -2107,8 +2107,39 @@ Removes coverage data files generated for this test.
 @item cleanup-ipa-dump @var{suffix}
 Removes IPA dump files generated for this test.
 
-@item cleanup-modules
-Removes Fortran module files generated for this test.
+@item cleanup-modules "@var{list-of-extra-modules}"
+Removes Fortran module files generated for this test, excluding the
+module names listed in keep-modules.
+Cleaning up module files is usually done automatically by the testsuite
+by looking at the source files and removing the modules after the test
+has been executed.
+@smallexample
+module MoD1
+end module MoD1
+module Mod2
+end module Mod2
+module moD3
+end module moD3
+module mod4
+end module mod4
+! @{ dg-final @{ cleanup-modules "mod1 mod2" @} @} ! redundant
+! @{ dg-final @{ keep-modules "mod3 mod4" @} @}
+@end smallexample
+
+@item keep-modules "@var{list-of-modules-not-to-delete}"
+Whitespace separated list of module names that should not be deleted by
+cleanup-modules.
+If the list of modules is empty, all modules defined in this file are kept.
+@smallexample
+module maybe_unneeded
+end module maybe_unneeded
+module keep1
+end module keep1
+module keep2
+end module keep2
+! @{ dg-final @{ keep-modules "keep1 keep2" @} @} ! just keep these two
+! @{ dg-final @{ keep-modules "" @} @} ! keep all
+@end smallexample
 
 @item cleanup-profile-file
 Removes profiling files generated for this test.
index 9405556d9e05e66e90f16526fb1fe887293c6e56..03fbf871a51d26fe940ce86c22d0893deb23887f 100644 (file)
@@ -1,3 +1,34 @@
+2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+       * gfortran.fortran-torture/compile/compile.exp: Simplify.
+       * gfortran.fortran-torture/execute/execute.exp: Likewise.
+       * lib/gcc-dg.exp (cleanup-modules): Move to ..
+       * lib/fortran-modules.exp: .. this new file. Adjust users.
+       * lib/gfortran-dg.exp (gfortran-dg-runtest,
+       gfortran-dg-debug-runtest): Call cleanup-modules.
+       * lib/fortran-torture.exp (fortran-torture-execute,
+       fortran-torture): Likewise.
+       * gfortran.dg/coarray/caf.exp: Likewise.
+       * lib/lto.exp: Likewise.
+       * gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
+       * gfortran.dg/class_4b.f03: Likewise.
+       * gfortran.dg/class_4c.f03: Likewise.
+       * gfortran.dg/class_45a.f03: Likewise.
+       * gfortran.dg/binding_label_tests_10.f03: Likewise.
+       * gfortran.dg/binding_label_tests_10_main.f03: Likewise.
+       * gfortran.dg/binding_label_tests_11.f03: Likewise.
+       * gfortran.dg/binding_label_tests_11_main.f03: Likewise.
+       * gfortran.dg/binding_label_tests_13.f03: Likewise.
+       * gfortran.dg/binding_label_tests_13_main.f03: Likewise.
+       * gfortran.dg/test_common_binding_labels_2.f03: Likewise.
+       * gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
+       * gfortran.dg/test_common_binding_labels_3.f03: Likewise.
+       * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
+       * gfortran.dg/whole_file_28.f90: Likewise.
+       * gfortran.dg/whole_file_29.f90: Likewise.
+       * gfortran.dg/whole_file_30.f90: Likewise.
+       * gfortran.dg/whole_file_31.f90: Likewise.
+
 2012-03-15  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/52267
index 99c9c527624f65bce6be426a803c193066410c4e..e609d34a520623a83ec3fb1a4ca21c03de7bd6e1 100644 (file)
@@ -6,5 +6,4 @@ module binding_label_tests_10
   implicit none
   integer(c_int), bind(c,name="c_one") :: one
 end module binding_label_tests_10
-
-! Do not use dg-final to cleanup-modules
+! { dg-final { keep-modules "" } }
index aa24a6ac1d67c2871660cbfb304ce68d9ba53cf5..48e8e5da9b1e02a1ee00dbf3f4005b32cdd33592 100644 (file)
@@ -11,5 +11,4 @@ program main
   use binding_label_tests_10 ! { dg-error "collides" }
   use binding_label_tests_10_main
 end program main
-
-! { dg-final { cleanup-modules "binding_label_tests_10_main binding_label_tests_10" } }
+! { dg-final { cleanup-modules "binding_label_tests_10" } }
index 5e889a7886eb0e4279a71e6f63f974d387acc207..8dcf99869fcf6b87114f5318c656608307e634f8 100644 (file)
@@ -10,5 +10,4 @@ contains
     one = 1
   end function one
 end module binding_label_tests_11
-
-! Do not use dg-final to cleanup-modules
+! { dg-final { keep-modules "" } }
index 53eac7cf5466d18b7094c01598567f8943abbca9..ef7cfce30eed63de765c2a787920e4c152fb8efb 100644 (file)
@@ -15,5 +15,4 @@ program main
   use binding_label_tests_11 ! { dg-error "collides" }
   use binding_label_tests_11_main
 end program main
-
-! { dg-final { cleanup-modules "binding_label_tests_11_main binding_label_tests_11" } }
+! { dg-final { cleanup-modules "binding_label_tests_11" } }
index 786945d3af751eb266c367f53903f24f147485ae..a8e3179bf378d9f4691ddf9c63bd04aa69a93f1d 100644 (file)
@@ -6,3 +6,4 @@ module binding_label_tests_13
   integer(c_int) :: c3
   bind(c) c3
 end module binding_label_tests_13
+! { dg-final { keep-modules "" } }
index 1addc9c495c27f86dc0ab9504853ce99571bd2a0..355f11a346b0a1efcb4e9eedafbbe666675f713d 100644 (file)
@@ -12,5 +12,4 @@ contains
     use binding_label_tests_13 ! { dg-error "collides" }
   end subroutine c_sub
 end module binding_label_tests_13_main
-! { dg-final { cleanup-modules "binding_label_tests_13 binding_label_tests_13_main" } }
-
+! { dg-final { cleanup-modules "binding_label_tests_13" } }
index 91f11c4ecce9d5945247dc18133359246e393db4..c3c9ac20e803ff0422f882a24ca4dab78eb8ca4d 100644 (file)
@@ -26,3 +26,4 @@ contains
   end function basicGet
 
 end module G_Nodes
+! { dg-final { keep-modules "" } }
index 3cf0b7abf519d308f555d7f6b45a656283c18461..9441cc79ca8215748510dd794cf3a6dd758d845d 100644 (file)
@@ -12,3 +12,4 @@ module m
   type t
   end type t
 end module m
+! { dg-final { keep-modules "m" } }
index 4658b8cf3f5e12f1ebcc5e20891e7681e14b2b52..a5d914a523d3b1b4b3123c6d8e4deef896e554be 100644 (file)
@@ -13,3 +13,4 @@ module m2
   type, extends(t) :: t2
   end type t2
 end module m2
+! { dg-final { keep-modules "m2" } }
index c28a32b0fcaa2656712070304f01f60c5c61cb78..088acae6b34192b8201e868431a746adb718d057 100644 (file)
@@ -27,5 +27,4 @@
   end select
   print *, i
 end
-
-! { dg-final { cleanup-modules "m m2 m3" } }
+! { dg-final { cleanup-modules "m m2" } }
index c7e46f6bedcd75a65240bf23fc0bb17b0ad68110..52dff75316041c018843814092549bc7c830e3e0 100644 (file)
@@ -61,15 +61,18 @@ foreach test [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]]
     set option_list [list { -O2 } ]
 
     set nshort [file tail [file dirname $test]]/[file tail $test]
+    list-module-names $test
 
     foreach flags $option_list {
        verbose "Testing $nshort (single), $flags" 1
        dg-test $test "-fcoarray=single $flags" "" 
+       cleanup-modules ""
     }
 
     foreach flags $option_list {
        verbose "Testing $nshort (libcaf_single), $flags" 1
        dg-test $test "-fcoarray=lib $flags -lcaf_single" ""
+       cleanup-modules ""
     }
 }
 torture-finish
index d14c9b1168f7651fe5a9fbbea6330e1306313387..ad654b35db4613102917309cae5655de5812e0af 100644 (file)
@@ -12,4 +12,4 @@ module test_common_binding_labels_2
   integer(c_int) :: i
   bind(c, name="") /com2/
 end module test_common_binding_labels_2
-
+! { dg-final { keep-modules "" } }
index 1b4103ef4cc8f8f290caa2cd13859e3d478f9ea2..eeb981ec40d16d66a380c5595ecdfea501a4f122 100644 (file)
@@ -21,5 +21,4 @@ program main
   use test_common_binding_labels_2 ! { dg-error "does not match" }
   use test_common_binding_labels_2_main
 end program main
-
-! { dg-final { cleanup-modules "test_common_binding_labels_2_main test_common_binding_labels_2" } }
+! { dg-final { cleanup-modules "test_common_binding_labels_2" } }
index 87d6c6b78f972d7718d231063f2b76288dbb41d7..d851b5e727778f81262035a0e1cab474a52c2995 100644 (file)
@@ -8,3 +8,4 @@ module test_common_binding_labels_3
   real(c_double) :: s
   bind(c, name="my_common_block") :: /mycom/
 end module test_common_binding_labels_3
+! { dg-final { keep-modules "" } }
index d2c67f65170ccbeb729c6371976f83c867366cbc..91fcff18245d252ea397fbfb8dbdc48125a13161 100644 (file)
@@ -10,5 +10,4 @@ program main
   use test_common_binding_labels_3_main
   use test_common_binding_labels_3 ! { dg-error "collides" }
 end program main
-
-! { dg-final { cleanup-modules "test_common_binding_labels_3_main test_common_binding_labels_3" } }
+! { dg-final { cleanup-modules "test_common_binding_labels_3" } }
index 78c848e40e6be31cd13d198ae091535266554965..ec9efb2d4dcf7864d6172c03820208da35dec849 100644 (file)
@@ -10,3 +10,4 @@ module iso_red
   end type varying_string
 end module iso_red
 ! DO NOT CLEAN UP THE MODULE FILE - whole_file_29.f90 does it.
+! { dg-final { keep-modules "" } }
index 2521dadac2a1d9f11a6a855b6dbfeb99ee2479e0..703754c649db3f14a029d42302301f6d2d8f5366 100644 (file)
@@ -24,4 +24,4 @@ contains
   end subroutine syntax_init_from_ifile
 end module syntax_rules
 end
-! { dg-final { cleanup-modules "syntax_rules ifiles iso_red" } }
+! { dg-final { cleanup-modules "iso_red" } }
index 813ca06868ddb01acc2c5a1d4ed746e2966275de..d8e401eeb209502368bcff1ee4b9a8e495ec2ff5 100644 (file)
@@ -13,3 +13,4 @@ module system_defs_m
   end type sysvector_t
 end module system_defs_m
 ! DO NOT CLEAN UP THE MODULE FILE - whole_file_31.f90 does it.
+! { dg-final { keep-modules "" } }
index 7ef0b9f676166bdbee21aecae0839ab9c0dadfac..eb77055b91ffb204127a2e6149a5c530072aa368 100644 (file)
@@ -18,4 +18,4 @@ program t
   type(sysvector_t), target :: sol
   solution => sol
 end program t
-! { dg-final { cleanup-modules "system_defs_m convecreac_m" } }
+! { dg-final { cleanup-modules "system_defs_m" } }
index 5c56ec3f52981c91821cf25983acc88633ac0548..5bc8d7fb87605883ae3cd61a4b6154dbc3a9df41 100644 (file)
@@ -28,7 +28,7 @@ load_lib torture-options.exp
 torture-init
 set-torture-options [get-fortran-torture-options]
 
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f]] {
+foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] {
     # If we're only testing specific files and this isn't one of them, skip it.
     if ![runtest_file_p $runtests $testcase] then {
        continue
@@ -36,67 +36,4 @@ foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f]] {
     fortran-torture $testcase
 }
 
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f90]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F90]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f95]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F95]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f03]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F03]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f08]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F08]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture $testcase
-}
-
 torture-finish
index 40b65f81cdaa4942e5d114346c79588450e618b0..d9f0a1bedfd41d760da1b2a4feba28c41d3a57aa 100644 (file)
@@ -32,7 +32,7 @@ load_lib torture-options.exp
 torture-init
 set-torture-options [get-fortran-torture-options]
 
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f]] {
+foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ]] {
     # If we're only testing specific files and this isn't one of them, skip it.
     if ![runtest_file_p $runtests $testcase] then {
        continue
@@ -40,67 +40,4 @@ foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f]] {
     fortran-torture-execute $testcase
 }
 
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f90]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F90]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f95]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F95]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f03]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F03]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.f08]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
-foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.F08]] {
-    if ![runtest_file_p $runtests $testcase] then {
-       continue
-    }
-    fortran-torture-execute $testcase
-}
-
 torture-finish
index 8d6e2ddd817aa8940c79b958e0b85d9dae045a43..9d875a00bb5f69860b88fb06f98e4614c1637c96 100644 (file)
@@ -21,6 +21,7 @@
 # based on f-torture.exp, which was written by Rob Savoye.
 
 load_lib target-supports.exp
+load_lib fortran-modules.exp
 
 # Return the list of options to use for fortran torture tests.
 # The default option list can be overridden by
@@ -218,6 +219,7 @@ proc fortran-torture-execute { src } {
     if [string match "/*" $testcase] {
        set testcase "[file tail [file dirname $src]]/[file tail $src]"
     }
+    list-module-names $src
 
     # Walk the list of options and copmile and run the testcase for all
     # options that are not explicitly disabled by the .x script (if present).
@@ -332,6 +334,7 @@ proc fortran-torture-execute { src } {
         }
        $status "$testcase execution, $option"
     }
+    cleanup-modules ""
 }
 
 
@@ -390,7 +393,8 @@ proc fortran-torture { args } {
            return
        }
     }
-   
+    list-module-names $src
+
     # loop through all the options
     set option_list $torture_with_loops
     foreach option $option_list {
@@ -406,6 +410,7 @@ proc fortran-torture { args } {
        }
 
        fortran-torture-compile $src "$option $options"
+       cleanup-modules ""
     }
 }
 
index 026a8a96a6c411faa0354e93464ad7810a46cea9..4666edec8be6075b6c9bcd5840cedc2c13571cfa 100644 (file)
@@ -29,6 +29,7 @@ load_lib prune.exp
 load_lib libgloss.exp
 load_lib target-libpath.exp
 load_lib torture-options.exp
+load_lib fortran-modules.exp
 
 # We set LC_ALL and LANG to C so that we get the same error messages as expected.
 setenv LC_ALL C
@@ -573,13 +574,6 @@ proc cleanup-saved-temps { args } {
     }
 }
 
-# Remove files for specified Fortran modules.
-proc cleanup-modules { modlist } {
-    foreach modname $modlist {
-       remove-build-file [string tolower $modname].mod
-    }
-}
-
 # Scan Fortran modules for a given regexp.
 #
 # Argument 0 is the module name
index 0fd96b395ce6629fbb16bf29c7b2cafb5b2978e8..50753dff88c5657bbb79aa4eaa0f176dce367d95 100644 (file)
@@ -111,10 +111,12 @@ proc gfortran-dg-runtest { testcases default-extra-flags } {
        }
 
        set nshort [file tail [file dirname $test]]/[file tail $test]
+       list-module-names $test
 
        foreach flags $option_list {
            verbose "Testing $nshort, $flags" 1
            dg-test $test $flags ${default-extra-flags}
+           cleanup-modules ""
        }
     }
 
@@ -171,6 +173,7 @@ proc gfortran-dg-debug-runtest { target_compile trivial opt_opts testcases } {
        }
 
        set nshort [file tail [file dirname $test]]/[file tail $test]
+       list-module-names $test
 
        foreach flags $DEBUG_TORTURE_OPTIONS {
            set doit 1
@@ -179,6 +182,7 @@ proc gfortran-dg-debug-runtest { target_compile trivial opt_opts testcases } {
            if { $doit } {
                verbose -log "Testing $nshort, $flags" 1
                dg-test $test $flags ""
+               cleanup-modules ""
            }
        }
     }
index 4e5d4437dbe78c58be510adc9f9b123dfbd9da58..536d629f9bb7a79b43b0e99cad5181f08aa455c8 100644 (file)
@@ -499,7 +499,10 @@ proc lto-execute { src1 sid } {
        verbose "$testcase not supported on this target, skipping it" 3
        return
     }
-
+    # Should be safe for non-fortran too but be paranoid..
+    if {$sid eq "f_lto"} {
+       list-module-names $src_list
+    }
     regsub "_0.*" $testcase "" testcase
 
     # Set up the base name of executable files so they'll be unique.
@@ -578,6 +581,10 @@ proc lto-execute { src1 sid } {
             || ![string compare "link" $compile_type] } {
            file_on_host delete $execname
        }
+       # Should be safe for non-fortran too but be paranoid..
+       if {$sid eq "f_lto"} {
+           cleanup-modules ""
+       }
     }
 }