aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <aldot@gcc.gnu.org>2012-03-15 13:25:47 +0100
committerBernhard Reutner-Fischer <aldot@gcc.gnu.org>2012-03-15 13:25:47 +0100
commitb3781fcb265e24fd61be94e716027a33c0712ed0 (patch)
treea97cde0c3e26b8bb5fcf4214f390968b7294c543
parent421836855b62225faac7f26ebff5d2794c96268d (diff)
downloadgcc-b3781fcb265e24fd61be94e716027a33c0712ed0.zip
gcc-b3781fcb265e24fd61be94e716027a33c0712ed0.tar.gz
gcc-b3781fcb265e24fd61be94e716027a33c0712ed0.tar.bz2
gfortran testsuite: implicitly cleanup-modules
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
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/doc/sourcebuild.texi35
-rw-r--r--gcc/testsuite/ChangeLog31
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_10.f033
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f033
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_11.f033
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f033
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_13.f031
-rw-r--r--gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f033
-rw-r--r--gcc/testsuite/gfortran.dg/class_45a.f031
-rw-r--r--gcc/testsuite/gfortran.dg/class_4a.f031
-rw-r--r--gcc/testsuite/gfortran.dg/class_4b.f031
-rw-r--r--gcc/testsuite/gfortran.dg/class_4c.f033
-rw-r--r--gcc/testsuite/gfortran.dg/coarray/caf.exp3
-rw-r--r--gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f032
-rw-r--r--gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f033
-rw-r--r--gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f031
-rw-r--r--gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f033
-rw-r--r--gcc/testsuite/gfortran.dg/whole_file_28.f901
-rw-r--r--gcc/testsuite/gfortran.dg/whole_file_29.f902
-rw-r--r--gcc/testsuite/gfortran.dg/whole_file_30.f901
-rw-r--r--gcc/testsuite/gfortran.dg/whole_file_31.f902
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/compile/compile.exp65
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/execute.exp65
-rw-r--r--gcc/testsuite/lib/fortran-torture.exp7
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp8
-rw-r--r--gcc/testsuite/lib/gfortran-dg.exp4
-rw-r--r--gcc/testsuite/lib/lto.exp9
28 files changed, 113 insertions, 160 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 14c3210..fbaaab3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index ea6fedb..fc6f3e6 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -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.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9405556..03fbf87 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_10.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_10.f03
index 99c9c52..e609d34 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_10.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_10.f03
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03
index aa24a6a..48e8e5d 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_10_main.f03
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_11.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_11.f03
index 5e889a7..8dcf998 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_11.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_11.f03
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03
index 53eac7c..ef7cfce 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_11_main.f03
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_13.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_13.f03
index 786945d..a8e3179 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_13.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_13.f03
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03 b/gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03
index 1addc9c..355f11a 100644
--- a/gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03
+++ b/gcc/testsuite/gfortran.dg/binding_label_tests_13_main.f03
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/class_45a.f03 b/gcc/testsuite/gfortran.dg/class_45a.f03
index 91f11c4..c3c9ac2 100644
--- a/gcc/testsuite/gfortran.dg/class_45a.f03
+++ b/gcc/testsuite/gfortran.dg/class_45a.f03
@@ -26,3 +26,4 @@ contains
end function basicGet
end module G_Nodes
+! { dg-final { keep-modules "" } }
diff --git a/gcc/testsuite/gfortran.dg/class_4a.f03 b/gcc/testsuite/gfortran.dg/class_4a.f03
index 3cf0b7a..9441cc7 100644
--- a/gcc/testsuite/gfortran.dg/class_4a.f03
+++ b/gcc/testsuite/gfortran.dg/class_4a.f03
@@ -12,3 +12,4 @@ module m
type t
end type t
end module m
+! { dg-final { keep-modules "m" } }
diff --git a/gcc/testsuite/gfortran.dg/class_4b.f03 b/gcc/testsuite/gfortran.dg/class_4b.f03
index 4658b8c..a5d914a 100644
--- a/gcc/testsuite/gfortran.dg/class_4b.f03
+++ b/gcc/testsuite/gfortran.dg/class_4b.f03
@@ -13,3 +13,4 @@ module m2
type, extends(t) :: t2
end type t2
end module m2
+! { dg-final { keep-modules "m2" } }
diff --git a/gcc/testsuite/gfortran.dg/class_4c.f03 b/gcc/testsuite/gfortran.dg/class_4c.f03
index c28a32b..088acae 100644
--- a/gcc/testsuite/gfortran.dg/class_4c.f03
+++ b/gcc/testsuite/gfortran.dg/class_4c.f03
@@ -27,5 +27,4 @@
end select
print *, i
end
-
-! { dg-final { cleanup-modules "m m2 m3" } }
+! { dg-final { cleanup-modules "m m2" } }
diff --git a/gcc/testsuite/gfortran.dg/coarray/caf.exp b/gcc/testsuite/gfortran.dg/coarray/caf.exp
index c7e46f6..52dff75 100644
--- a/gcc/testsuite/gfortran.dg/coarray/caf.exp
+++ b/gcc/testsuite/gfortran.dg/coarray/caf.exp
@@ -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
diff --git a/gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03 b/gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03
index d14c9b1..ad654b3 100644
--- a/gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03
+++ b/gcc/testsuite/gfortran.dg/test_common_binding_labels_2.f03
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03 b/gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03
index 1b4103e..eeb981e 100644
--- a/gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03
+++ b/gcc/testsuite/gfortran.dg/test_common_binding_labels_2_main.f03
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03 b/gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03
index 87d6c6b..d851b5e 100644
--- a/gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03
+++ b/gcc/testsuite/gfortran.dg/test_common_binding_labels_3.f03
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03 b/gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03
index d2c67f6..91fcff1 100644
--- a/gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03
+++ b/gcc/testsuite/gfortran.dg/test_common_binding_labels_3_main.f03
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/whole_file_28.f90 b/gcc/testsuite/gfortran.dg/whole_file_28.f90
index 78c848e..ec9efb2 100644
--- a/gcc/testsuite/gfortran.dg/whole_file_28.f90
+++ b/gcc/testsuite/gfortran.dg/whole_file_28.f90
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/whole_file_29.f90 b/gcc/testsuite/gfortran.dg/whole_file_29.f90
index 2521dad..703754c 100644
--- a/gcc/testsuite/gfortran.dg/whole_file_29.f90
+++ b/gcc/testsuite/gfortran.dg/whole_file_29.f90
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.dg/whole_file_30.f90 b/gcc/testsuite/gfortran.dg/whole_file_30.f90
index 813ca06..d8e401e 100644
--- a/gcc/testsuite/gfortran.dg/whole_file_30.f90
+++ b/gcc/testsuite/gfortran.dg/whole_file_30.f90
@@ -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 "" } }
diff --git a/gcc/testsuite/gfortran.dg/whole_file_31.f90 b/gcc/testsuite/gfortran.dg/whole_file_31.f90
index 7ef0b9f..eb77055 100644
--- a/gcc/testsuite/gfortran.dg/whole_file_31.f90
+++ b/gcc/testsuite/gfortran.dg/whole_file_31.f90
@@ -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" } }
diff --git a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
index 5c56ec3..5bc8d7f 100644
--- a/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
@@ -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
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
index 40b65f8..d9f0a1b 100644
--- a/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
@@ -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
diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp
index 8d6e2dd..9d875a0 100644
--- a/gcc/testsuite/lib/fortran-torture.exp
+++ b/gcc/testsuite/lib/fortran-torture.exp
@@ -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 ""
}
}
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 026a8a9..4666ede 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -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
diff --git a/gcc/testsuite/lib/gfortran-dg.exp b/gcc/testsuite/lib/gfortran-dg.exp
index 0fd96b3..50753df 100644
--- a/gcc/testsuite/lib/gfortran-dg.exp
+++ b/gcc/testsuite/lib/gfortran-dg.exp
@@ -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 ""
}
}
}
diff --git a/gcc/testsuite/lib/lto.exp b/gcc/testsuite/lib/lto.exp
index 4e5d443..536d629 100644
--- a/gcc/testsuite/lib/lto.exp
+++ b/gcc/testsuite/lib/lto.exp
@@ -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 ""
+ }
}
}