diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ee7d70a794e59412d39691df1198c73ed0c6ad30..a320c2e929cca653cec0e68d42e56165018ed8bd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,36 @@
+2007-08-17  Tobias Burnus  <burnus@net-b.de>
+
+	* gfortran.dg/kind_tests_2.f03: Add cleanup-modules.
+	* gfortran.dg/kind_tests_3.f03: Ditto.
+	* gfortran.dg/global_vars_f90_init.f90: Ditto.
+	* gfortran.dg/interface_13.f90: Ditto.
+	* gfortran.dg/pr32738.f90: Ditto.
+	* gfortran.dg/module_private_1.f90: Ditto.
+	* gfortran.dg/test_only_clause.f90: Ditto.
+	* gfortran.dg/bind_c_vars.f90: Ditto.
+	* gfortran.dg/bind_c_dts.f90: Ditto.
+	* gfortran.dg/use_9.f90: Ditto.
+	* gfortran.dg/generic_8.f90: Ditto.
+	* gfortran.dg/bind_c_implicit_vars.f03: Ditto.
+	* gfortran.dg/private_type_6.f90: Ditto.
+	* gfortran.dg/c_assoc.f90: Ditto.
+	* gfortran.dg/private_type_7.f90: Ditto.
+	* gfortran.dg/global_vars_c_init.f90: Ditto.
+	* gfortran.dg/bind_c_dts_2.f03: Ditto.
+	* gfortran.dg/c_f_pointer_tests.f90: Ditto.
+	* gfortran.dg/c_size_t_test.f03: Ditto.
+	* gfortran.dg/used_types_12.f90: Ditto.
+	* gfortran.dg/pr25923.f90: Ditto.
+	* gfortran.dg/test_com_block.f90: Ditto.
+	* gfortran.dg/iso_c_binding_rename_1.f03: Ditto.
+	* gfortran.dg/equiv_constraint_7.f90: Ditto.
+	* gfortran.dg/com_block_driver.f90: Ditto.
+	* gfortran.dg/iso_c_binding_rename_2.f03: Ditto.
+	* gfortran.dg/use_iso_c_binding.f90: Ditto.
+	* gfortran.dg/c_loc_test.f90: Ditto.
+	* gfortran.dg/c_ptr_tests.f03: Ditto.
+	* gfortran.dg/module_interface_1.f90: Ditto.
+
 2007-08-17  Paolo Carlini  <pcarlini@suse.de>
 
 	PR c++/32870
diff --git a/gcc/testsuite/gfortran.dg/bind_c_dts.f90 b/gcc/testsuite/gfortran.dg/bind_c_dts.f90
index f78630ba5604b6644db978ce34260d1c6dbe4134..f0a31e5408e354837ee7425fffe8be0842f18cb6 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_dts.f90
+++ b/gcc/testsuite/gfortran.dg/bind_c_dts.f90
@@ -39,3 +39,5 @@ contains
     myDerived%s = myDerived%s + 1.0;
   end subroutine types_test
 end module bind_c_dts
+
+! { dg-final { cleanup-modules "bind_c_dts" } }
diff --git a/gcc/testsuite/gfortran.dg/bind_c_dts_2.f03 b/gcc/testsuite/gfortran.dg/bind_c_dts_2.f03
index 4e5e61b4ee8ae8d6b5691286c12d2d30c08849a3..4b423e53de4cec61add917e682e2a11d27564f56 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_dts_2.f03
+++ b/gcc/testsuite/gfortran.dg/bind_c_dts_2.f03
@@ -59,3 +59,5 @@ contains
     end if
   end subroutine sub0
 end module bind_c_dts_2
+
+! { dg-final { cleanup-modules "bind_c_dts_2" } }
diff --git a/gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03 b/gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03
index ff284ce33466f4d8f00f376cabae3b7e32c8af06..d6b4b6d617676ee803ec6b944e7d7b9a24ce356d 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03
+++ b/gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03
@@ -8,3 +8,5 @@ contains
     i = 0
   end subroutine sub0
 end module bind_c_implicit_vars
+
+! { dg-final { cleanup-modules "bind_c_implicit_vars" } }
diff --git a/gcc/testsuite/gfortran.dg/bind_c_vars.f90 b/gcc/testsuite/gfortran.dg/bind_c_vars.f90
index 4f4a0cfd795ba6fa0eb8fa653e3ee290a8b0d885..e57edf09d38cb8a039552bc3ebc66631ddf3db91 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_vars.f90
+++ b/gcc/testsuite/gfortran.dg/bind_c_vars.f90
@@ -36,3 +36,5 @@ contains
   end subroutine changeF90Globals
 
 end module bind_c_vars
+
+! { dg-final { cleanup-modules "bind_c_vars" } }
diff --git a/gcc/testsuite/gfortran.dg/c_assoc.f90 b/gcc/testsuite/gfortran.dg/c_assoc.f90
index 9b2af24f984808973f4399349016e00bc8572f03..7b34663a3405a8229182dc8abe187627610c4d38 100644
--- a/gcc/testsuite/gfortran.dg/c_assoc.f90
+++ b/gcc/testsuite/gfortran.dg/c_assoc.f90
@@ -66,3 +66,5 @@ contains
   end subroutine verify_assoc
   
 end module c_assoc
+
+! { dg-final { cleanup-modules "c_assoc" } }
diff --git a/gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90 b/gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90
index 1e4dbc0201fdcedc94176a3acd249698a9c2be04..d35f9d1c151c6c5e862b9e8e5c7b9027b1fa6c87 100644
--- a/gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90
+++ b/gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90
@@ -66,3 +66,5 @@ module c_f_pointer_tests
     endif
   end subroutine testDerivedPtrs
 end module c_f_pointer_tests
+
+! { dg-final { cleanup-modules "c_f_pointer_tests" } }
diff --git a/gcc/testsuite/gfortran.dg/c_loc_test.f90 b/gcc/testsuite/gfortran.dg/c_loc_test.f90
index 178a5164cef4e0ec3f2b3d647ee000ef13b727b4..673e6f7282ee25f11a043ab6a1bcc86ec193d55d 100644
--- a/gcc/testsuite/gfortran.dg/c_loc_test.f90
+++ b/gcc/testsuite/gfortran.dg/c_loc_test.f90
@@ -21,4 +21,4 @@ contains
     call test_address(my_c_ptr, 100)
   end subroutine test0
 end module c_loc_test
-! { dg-final { cleanup-modules "c_loc_test.mod" } }
+! { dg-final { cleanup-modules "c_loc_test" } }
diff --git a/gcc/testsuite/gfortran.dg/c_ptr_tests.f03 b/gcc/testsuite/gfortran.dg/c_ptr_tests.f03
index 0b7c98be714ad46d088d0a2b99a9d9500786aa58..f0c9a3329d715be4645ee052ca4053f792eb0a05 100644
--- a/gcc/testsuite/gfortran.dg/c_ptr_tests.f03
+++ b/gcc/testsuite/gfortran.dg/c_ptr_tests.f03
@@ -42,3 +42,5 @@ module c_ptr_tests
       call c_f_pointer(self%myServices, localServices)
     end subroutine sub0
 end module c_ptr_tests
+
+! { dg-final { cleanup-modules "c_ptr_tests" } }
diff --git a/gcc/testsuite/gfortran.dg/c_size_t_test.f03 b/gcc/testsuite/gfortran.dg/c_size_t_test.f03
index 91d7aa57b0537192e51e296c19e348c2f1800d58..68064d78b07f05d8ad30214c07fe6c9f43ca5620 100644
--- a/gcc/testsuite/gfortran.dg/c_size_t_test.f03
+++ b/gcc/testsuite/gfortran.dg/c_size_t_test.f03
@@ -14,3 +14,5 @@ contains
     end if
   end subroutine sub0
 end module c_size_t_test
+
+! { dg-final { cleanup-modules "c_size_t_test" } }
diff --git a/gcc/testsuite/gfortran.dg/com_block_driver.f90 b/gcc/testsuite/gfortran.dg/com_block_driver.f90
index 0445635c881623858ceba0697bac272794c1a5f6..691a40fe59d1989e33107800b3287c9ca6359a40 100644
--- a/gcc/testsuite/gfortran.dg/com_block_driver.f90
+++ b/gcc/testsuite/gfortran.dg/com_block_driver.f90
@@ -32,3 +32,5 @@ program comBlockDriver
   
   call testTypes()
 end program comBlockDriver
+
+! { dg-final { cleanup-modules "mycommodule comblocktests" } }
diff --git a/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90 b/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
index 872e05b90fca59e4999a439ab1c9ff7cbea5f0bc..080cdef548332dfaed72183f9b4eba38f5970ef7 100644
--- a/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
+++ b/gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
@@ -9,3 +9,4 @@
   EQUIVALENCE(I,J)
  END MODULE DATA
  END
+! { dg-final { cleanup-modules "data" } }
diff --git a/gcc/testsuite/gfortran.dg/generic_8.f90 b/gcc/testsuite/gfortran.dg/generic_8.f90
index bf2ff78101fff37280e32bbc6d360ae68ee587da..a129efe4ca47977efe842cbc0c4bd9956509e7e5 100644
--- a/gcc/testsuite/gfortran.dg/generic_8.f90
+++ b/gcc/testsuite/gfortran.dg/generic_8.f90
@@ -28,4 +28,4 @@ CONTAINS
     CALL A(MAXVAL(X),Y)
   END SUBROUTINE T
 END MODULE M
-! { dg-final { cleanup-modules "M" } }
+! { dg-final { cleanup-modules "m" } }
diff --git a/gcc/testsuite/gfortran.dg/global_vars_c_init.f90 b/gcc/testsuite/gfortran.dg/global_vars_c_init.f90
index abcdccd3fb2538f4aedd3f892b008f872a4b3260..15f28f5bd2d75daac0e702c95849a0f1a04cc8ab 100644
--- a/gcc/testsuite/gfortran.dg/global_vars_c_init.f90
+++ b/gcc/testsuite/gfortran.dg/global_vars_c_init.f90
@@ -15,4 +15,4 @@ contains
   end subroutine test_globals
 end module global_vars_c_init
 
-
+! { dg-final { cleanup-modules "global_vars_c_init" } }
diff --git a/gcc/testsuite/gfortran.dg/global_vars_f90_init.f90 b/gcc/testsuite/gfortran.dg/global_vars_f90_init.f90
index 2ff3c52fb17e3f1f4e034bcd035a3fd34817d6ed..aa1a60ba406c4217e9bd868cc996ed3f34df1df4 100644
--- a/gcc/testsuite/gfortran.dg/global_vars_f90_init.f90
+++ b/gcc/testsuite/gfortran.dg/global_vars_f90_init.f90
@@ -15,4 +15,4 @@ contains
   end subroutine test_globals
 end module global_vars_f90_init
 
-
+! { dg-final { cleanup-modules "global_vars_f90_init" } }
diff --git a/gcc/testsuite/gfortran.dg/interface_13.f90 b/gcc/testsuite/gfortran.dg/interface_13.f90
index 7394de193296154189d1d2197c96c21c23ca211b..42c794a3e513dd3c1c178e18ccecbd5637ab6639 100644
--- a/gcc/testsuite/gfortran.dg/interface_13.f90
+++ b/gcc/testsuite/gfortran.dg/interface_13.f90
@@ -28,4 +28,6 @@
           data_i4(1)=0
           data_r8(1)=0
       end subroutine my_sio_file_read_common
-    end module files_module
\ No newline at end of file
+    end module files_module
+
+! { dg-final { cleanup-modules "files_module" } }
diff --git a/gcc/testsuite/gfortran.dg/iso_c_binding_rename_1.f03 b/gcc/testsuite/gfortran.dg/iso_c_binding_rename_1.f03
index 215e487ada478038b3629fbe2ce78515c121a42a..799ba35e9bc48856f1575fff8745ae90570be947 100644
--- a/gcc/testsuite/gfortran.dg/iso_c_binding_rename_1.f03
+++ b/gcc/testsuite/gfortran.dg/iso_c_binding_rename_1.f03
@@ -81,3 +81,4 @@ contains
   end subroutine sub4
 end module iso_c_binding_rename_1
 
+! { dg-final { cleanup-modules "iso_c_binding_rename_0 iso_c_binding_rename_1" } }
diff --git a/gcc/testsuite/gfortran.dg/iso_c_binding_rename_2.f03 b/gcc/testsuite/gfortran.dg/iso_c_binding_rename_2.f03
index 75797e78f7347f89cd55d5f849383fe4535873de..e7c18db2f15e4d1fa1608c69db4fda35ebd840f3 100644
--- a/gcc/testsuite/gfortran.dg/iso_c_binding_rename_2.f03
+++ b/gcc/testsuite/gfortran.dg/iso_c_binding_rename_2.f03
@@ -38,3 +38,5 @@ contains
   end subroutine sub4
 
 end module mod2
+
+! { dg-final { cleanup-modules "mod0 mod1 mod2" } }
diff --git a/gcc/testsuite/gfortran.dg/kind_tests_2.f03 b/gcc/testsuite/gfortran.dg/kind_tests_2.f03
index d740657a262fee2c761bee16f29cbc8db0b03a90..2a0d7c985d8dd236f309a72b14434376a8320ba8 100644
--- a/gcc/testsuite/gfortran.dg/kind_tests_2.f03
+++ b/gcc/testsuite/gfortran.dg/kind_tests_2.f03
@@ -5,3 +5,5 @@ module kind_tests_2
   integer, parameter :: myFKind = c_float
   real(myFKind), bind(c) :: myF
 end module kind_tests_2
+
+! { dg-final { cleanup-modules "kind_tests_2" } }
diff --git a/gcc/testsuite/gfortran.dg/kind_tests_3.f03 b/gcc/testsuite/gfortran.dg/kind_tests_3.f03
index 83cb91e95d6de4c9aa87544b9cf3d4e2bbe1fa43..af041b0f9e6e69d7e30cea891fda309b1152ce78 100644
--- a/gcc/testsuite/gfortran.dg/kind_tests_3.f03
+++ b/gcc/testsuite/gfortran.dg/kind_tests_3.f03
@@ -8,3 +8,5 @@ module my_module
   use my_kinds
   real(myFKind), bind(c) :: myF  
 end module my_module
+
+! { dg-final { cleanup-modules "my_kinds my_module" } }
diff --git a/gcc/testsuite/gfortran.dg/module_interface_1.f90 b/gcc/testsuite/gfortran.dg/module_interface_1.f90
index 15139c04f1a33be878d4c7ef529a8cec7c381d45..54ea14bcae2f1749029c437f6b4bbfe463250a57 100644
--- a/gcc/testsuite/gfortran.dg/module_interface_1.f90
+++ b/gcc/testsuite/gfortran.dg/module_interface_1.f90
@@ -35,4 +35,4 @@
     end subroutine Selection_Sort
   end program module_interface
 
-! { dg-final { cleanup-modules "Max_Loc_mod" } }
+! { dg-final { cleanup-modules "max_loc_mod" } }
diff --git a/gcc/testsuite/gfortran.dg/module_private_1.f90 b/gcc/testsuite/gfortran.dg/module_private_1.f90
index 66bc56405b08c2ee6f7c8846a9e0c6411f83d1d8..7d854a1a9517d4e364fac0af2ba0af135d20b0df 100644
--- a/gcc/testsuite/gfortran.dg/module_private_1.f90
+++ b/gcc/testsuite/gfortran.dg/module_private_1.f90
@@ -18,3 +18,5 @@ program main
   j = 1
   print *, i, j
 end program main
+
+! { dg-final { cleanup-modules "bar foo" } }
diff --git a/gcc/testsuite/gfortran.dg/pr25923.f90 b/gcc/testsuite/gfortran.dg/pr25923.f90
index 5a2ee29b4ac4a05738adfac3cf800500e1fd5127..f075944b92bd1778aa7e6117a75c1830e888b928 100644
--- a/gcc/testsuite/gfortran.dg/pr25923.f90
+++ b/gcc/testsuite/gfortran.dg/pr25923.f90
@@ -22,3 +22,5 @@ contains
   end function baz
 
 end module foo
+
+! { dg-final { cleanup-modules "foo" } }
diff --git a/gcc/testsuite/gfortran.dg/pr32738.f90 b/gcc/testsuite/gfortran.dg/pr32738.f90
index 3c413f10cb159d49cc8e8a7de149307660957958..bee6f184cc4207c5bd7e6d2320dff2043594b062 100644
--- a/gcc/testsuite/gfortran.dg/pr32738.f90
+++ b/gcc/testsuite/gfortran.dg/pr32738.f90
@@ -42,3 +42,5 @@ program example
   implicit none
      print *, tree_size(1)
 end program example
+
+! { dg-final { cleanup-modules "cluster_definition cluster_tree" } }
diff --git a/gcc/testsuite/gfortran.dg/private_type_6.f90 b/gcc/testsuite/gfortran.dg/private_type_6.f90
index 0d7ec534be00c18711afe304fd052d89378b3205..c44661f23622e46e2fbb269b89928720b24f37e8 100644
--- a/gcc/testsuite/gfortran.dg/private_type_6.f90
+++ b/gcc/testsuite/gfortran.dg/private_type_6.f90
@@ -22,4 +22,4 @@ program foo_test
   foo2 = bartype(1,2) ! { dg-error "has PRIVATE components" }
   foo2%dummy2 = 5 ! { dg-error "is a PRIVATE component" }
 end program foo_test
-! { dg-final { cleanup-tree-dump "foomod" } }
+! { dg-final { cleanup-modules "foomod" } }
diff --git a/gcc/testsuite/gfortran.dg/private_type_7.f90 b/gcc/testsuite/gfortran.dg/private_type_7.f90
index c44917259c208f44769610ab6f3fb2073107400c..b9ad8fab7ed4f5ee01fa86aa39382728144277aa 100644
--- a/gcc/testsuite/gfortran.dg/private_type_7.f90
+++ b/gcc/testsuite/gfortran.dg/private_type_7.f90
@@ -32,3 +32,4 @@ program testit
   k = foo(i)
   print *, "in the main:", k
 end program testit
+! { dg-final { cleanup-modules "gfcbug68" } }
diff --git a/gcc/testsuite/gfortran.dg/test_com_block.f90 b/gcc/testsuite/gfortran.dg/test_com_block.f90
index df3f643e72d57ced7380005e9f08f49c6d17e4e2..37175d265305f14d1d2af8243b4eab89ab1cefef 100644
--- a/gcc/testsuite/gfortran.dg/test_com_block.f90
+++ b/gcc/testsuite/gfortran.dg/test_com_block.f90
@@ -30,3 +30,5 @@ program testComBlock
      call abort()
   endif
 end program testComBlock
+
+! { dg-final { cleanup-modules "nonf03comblock" } }
diff --git a/gcc/testsuite/gfortran.dg/test_only_clause.f90 b/gcc/testsuite/gfortran.dg/test_only_clause.f90
index 7c63e2be1679f337bf5f423a6440803ea6dab044..a02a75922bf4e0a03d52d3dc364df7ee5fe4c850 100644
--- a/gcc/testsuite/gfortran.dg/test_only_clause.f90
+++ b/gcc/testsuite/gfortran.dg/test_only_clause.f90
@@ -18,3 +18,5 @@ module testOnlyClause
       endif
     end subroutine testOnly
 end module testOnlyClause
+
+! { dg-final { cleanup-modules "testonlyclause" } }
diff --git a/gcc/testsuite/gfortran.dg/use_9.f90 b/gcc/testsuite/gfortran.dg/use_9.f90
index 588f29dec97569ee71ba02f1dba0230d8bb2959d..419ef47f92725afeb337a49c83b58eda917aef2e 100644
--- a/gcc/testsuite/gfortran.dg/use_9.f90
+++ b/gcc/testsuite/gfortran.dg/use_9.f90
@@ -13,3 +13,4 @@ end module test
 
 use test, only: operator(.func.) ! { dg-error "not found in module 'test'" }
 end
+! { dg-final { cleanup-modules "test" } }
diff --git a/gcc/testsuite/gfortran.dg/use_iso_c_binding.f90 b/gcc/testsuite/gfortran.dg/use_iso_c_binding.f90
index 6e6a023bcfba8fd29a3870d15655cde93c2d5db4..b35c024c08cb4725cedf9c20387c0aa308e052db 100644
--- a/gcc/testsuite/gfortran.dg/use_iso_c_binding.f90
+++ b/gcc/testsuite/gfortran.dg/use_iso_c_binding.f90
@@ -47,3 +47,4 @@ module use_stmt_7
   use iso_c_binding, only: c_int, c_int
 end module use_stmt_7
 
+! { dg-final { cleanup-modules "use_stmt_2 use_stmt_3 use_stmt_4 use_stmt_5 use_stmt_6 use_stmt_7" } }
diff --git a/gcc/testsuite/gfortran.dg/used_types_12.f90 b/gcc/testsuite/gfortran.dg/used_types_12.f90
index adfa1f7c8e359cc159a215431181f9527ec1c68d..21d0fe2177a3caf46639ddd31a806052b540f7ee 100644
--- a/gcc/testsuite/gfortran.dg/used_types_12.f90
+++ b/gcc/testsuite/gfortran.dg/used_types_12.f90
@@ -26,5 +26,5 @@ PROGRAM MAIN
   TYPE(T1) :: BAZ
   BAZ = BAR
 END
-! { dg-final { cleanup-modules "M" } }
+! { dg-final { cleanup-modules "m" } }