public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch, testsuite, committed] Clean up gfortran.dg leftover module  files.
@ 2007-03-26 21:40 Brooks Moses
  2007-03-26 21:45 ` FX Coudert
  0 siblings, 1 reply; 31+ messages in thread
From: Brooks Moses @ 2007-03-26 21:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: fortran

[-- Attachment #1: Type: text/plain, Size: 1496 bytes --]

As advertised in the subject line.  Thanks to Uros Bizjak for the 
inspiration.

There are still a lot of module files left over from running 
gfortran.fortran-torture, since (as Kaveh pointed out) that doesn't 
recognize dg-final directives.  I've got a patch that adds the 
directives, but not one for recognizing them yet....

Anyhow, tested on i686-pc-linux-gnu, and committed to trunk.

----------------------------------------------------------------
2007-03-26  Brooks Moses  <brooks.moses@codesourcery.com>

	* gfortran.dg/func_derived_4.f90: Fix module cleanup.
	* gfortran.dg/gomp/appendix-a/a.22.4.f90: Clean up modules.
	* gfortran.dg/gomp/appendix-a/a.26.2.f90: Likewise.
	* gfortran.dg/gomp/appendix-a/a.32.1.f90: Likewise.
	* gfortran.dg/overload_1.f90: Likewise.
	* gfortran.dg/impure_assignment_1.f90: Likewise.
	* gfortran.dg/error_recovery_3.f90: Likewise.
	* gfortran.dg/alloc_comp_basics_1.f90: Likewise.
	* gfortran.dg/sequence_types_1.f90: Likewise.
	* gfortran.dg/internal_references_1.f90: Likewise.
	* gfortran.dg/present_1.f90: Likewise.
	* gfortran.dg/volatile10.f90: Likewise.
	* gfortran.dg/module_equivalence_2.f90: Likewise.
	* gfortran.dg/use_4.f90: Likewise.
	* gfortran.dg/elemental_result_1.f90: Likewise.
	* gfortran.dg/generic_actual_arg.f90: Likewise.
	* gfortran.dg/private_type_5.f90: Likewise.
	* gfortran.dg/protected_4.f90: Likewise.
	* gfortran.dg/interface_3.f90: Likewise.

----------------------------------------------------------------

- Brooks

[-- Attachment #2: test-dg-leftovers.diff --]
[-- Type: text/x-patch, Size: 7545 bytes --]

Index: gfortran.dg/func_derived_4.f90
===================================================================
--- gfortran.dg/func_derived_4.f90	(revision 123170)
+++ gfortran.dg/func_derived_4.f90	(working copy)
@@ -102,4 +102,4 @@
   mshp => msh_(quality)
 end program test_pnt
 
-! { dg-final { cleanup-modules "class_mesh class_scalar_field class_mesh" } }
+! { dg-final { cleanup-modules "class_mesh class_field class_scalar_field" } }
Index: gfortran.dg/gomp/appendix-a/a.22.4.f90
===================================================================
--- gfortran.dg/gomp/appendix-a/a.22.4.f90	(revision 123170)
+++ gfortran.dg/gomp/appendix-a/a.22.4.f90	(working copy)
@@ -9,3 +9,4 @@
 !$OMP THREADPRIVATE(/T/)	! { dg-error "COMMON block" }
       !non-conforming because /T/ not declared in A22_4_WRONG
       END SUBROUTINE A22_4_WRONG
+! { dg-final { cleanup-modules "A22_MODULE" } }
Index: gfortran.dg/gomp/appendix-a/a.26.2.f90
===================================================================
--- gfortran.dg/gomp/appendix-a/a.26.2.f90	(revision 123170)
+++ gfortran.dg/gomp/appendix-a/a.26.2.f90	(working copy)
@@ -20,3 +20,4 @@
 !$OMP END PARALLEL DO
           END SUBROUTINE F
       END MODULE A26_2
+! { dg-final { cleanup-modules "A26_2" } }
Index: gfortran.dg/gomp/appendix-a/a.32.1.f90
===================================================================
--- gfortran.dg/gomp/appendix-a/a.32.1.f90	(revision 123170)
+++ gfortran.dg/gomp/appendix-a/a.32.1.f90	(working copy)
@@ -22,3 +22,4 @@
         ALLOCATE(WORK(SIZE))
         WORK = TOL
       END SUBROUTINE BUILD
+! { dg-final { cleanup-modules "M" } }
Index: gfortran.dg/overload_1.f90
===================================================================
--- gfortran.dg/overload_1.f90	(revision 123170)
+++ gfortran.dg/overload_1.f90	(working copy)
@@ -181,3 +181,4 @@
          & abort
   end subroutine checku
 end program main
+! { dg-final { cleanup-modules "m" } }
Index: gfortran.dg/impure_assignment_1.f90
===================================================================
--- gfortran.dg/impure_assignment_1.f90	(revision 123170)
+++ gfortran.dg/impure_assignment_1.f90	(working copy)
@@ -23,4 +23,6 @@
      TYPE(T1), INTENT(IN) :: J
      I=J                      ! { dg-error "must be PURE" }
 END SUBROUTINE S2
-END
\ No newline at end of file
+END
+! { dg-final { cleanup-modules "M1" } }
+
Index: gfortran.dg/private_type_5.f90
===================================================================
--- gfortran.dg/private_type_5.f90	(revision 123170)
+++ gfortran.dg/private_type_5.f90	(working copy)
@@ -21,4 +21,5 @@
       ir%i = i
     end subroutine init
   end subroutine sub
-end module test
\ No newline at end of file
+end module test
+! { dg-final { cleanup-modules "test" } }
Index: gfortran.dg/error_recovery_3.f90
===================================================================
--- gfortran.dg/error_recovery_3.f90	(revision 123170)
+++ gfortran.dg/error_recovery_3.f90	(working copy)
@@ -6,4 +6,6 @@
  INTEGER :: I
 END MODULE M1
 
-USE M1,                    ONLY: I,&! { dg-error "Missing" }
\ No newline at end of file
+USE M1,                    ONLY: I,&! { dg-error "Missing" }
+! { dg-final { cleanup-modules "M1" } }
+
Index: gfortran.dg/alloc_comp_basics_1.f90
===================================================================
--- gfortran.dg/alloc_comp_basics_1.f90	(revision 123170)
+++ gfortran.dg/alloc_comp_basics_1.f90	(working copy)
@@ -141,3 +141,4 @@
 end program alloc
 ! { dg-final { scan-tree-dump-times "deallocate" 33 "original" } }
 ! { dg-final { cleanup-tree-dump "original" } }
+! { dg-final { cleanup-modules "alloc_m" } }
Index: gfortran.dg/interface_3.f90
===================================================================
--- gfortran.dg/interface_3.f90	(revision 123170)
+++ gfortran.dg/interface_3.f90	(working copy)
@@ -66,4 +66,4 @@
   print *, my_fun (a)  ! { dg-error "ambiguous reference" }
 end subroutine his_fun
 
-! { dg-final { cleanup-modules "test_mod" } }
+! { dg-final { cleanup-modules "test_mod test_mod2" } }
Index: gfortran.dg/sequence_types_1.f90
===================================================================
--- gfortran.dg/sequence_types_1.f90	(revision 123170)
+++ gfortran.dg/sequence_types_1.f90	(working copy)
@@ -77,3 +77,4 @@
     Integer(kindInt), dimension(:), pointer :: subset
   end type GroupDefLL
 end module data_types
+! { dg-final { cleanup-modules "data_types" } }
Index: gfortran.dg/protected_4.f90
===================================================================
--- gfortran.dg/protected_4.f90	(revision 123170)
+++ gfortran.dg/protected_4.f90	(working copy)
@@ -55,4 +55,4 @@
   protected :: test ! { dg-error "MODULE attribute conflicts with PROTECTED" }
 end module test
 
-! { dg-final { cleanup-modules "protmod" } }
+! { dg-final { cleanup-modules "protmod test" } }
Index: gfortran.dg/elemental_result_1.f90
===================================================================
--- gfortran.dg/elemental_result_1.f90	(revision 123170)
+++ gfortran.dg/elemental_result_1.f90	(working copy)
@@ -18,4 +18,4 @@
     INTEGER, pointer  :: MM ! { dg-error "conflicts with ELEMENTAL" }
   END FUNCTION MM
 END MODULE Test
-
+! { dg-final { cleanup-modules "Test" } }
Index: gfortran.dg/generic_actual_arg.f90
===================================================================
--- gfortran.dg/generic_actual_arg.f90	(revision 123170)
+++ gfortran.dg/generic_actual_arg.f90	(working copy)
@@ -22,4 +22,5 @@
 END
 
 SUBROUTINE F()
-END SUBROUTINE
\ No newline at end of file
+END SUBROUTINE
+! { dg-final { cleanup-modules "TEST" } }
Index: gfortran.dg/internal_references_1.f90
===================================================================
--- gfortran.dg/internal_references_1.f90	(revision 123170)
+++ gfortran.dg/internal_references_1.f90	(working copy)
@@ -33,4 +33,4 @@
       bar = 1.0
     end function bar
 end program test
-
+! { dg-final { cleanup-modules "m" } }
Index: gfortran.dg/present_1.f90
===================================================================
--- gfortran.dg/present_1.f90	(revision 123170)
+++ gfortran.dg/present_1.f90	(working copy)
@@ -17,4 +17,4 @@
   END SUBROUTINE S1
  END MODULE
  END
-
+! { dg-final { cleanup-modules "M1" } }
Index: gfortran.dg/volatile10.f90
===================================================================
--- gfortran.dg/volatile10.f90	(revision 123170)
+++ gfortran.dg/volatile10.f90	(working copy)
@@ -146,4 +146,4 @@
 ! TODO: dg-final { scan-tree-dump-not  "main_test2_3" "optimized" } 
 ! { dg-final { scan-tree-dump      "main_test2_4" "optimized" } }
 ! { dg-final { cleanup-tree-dump  "optimized" } }
-! { dg-final { cleanup-modules "one two" } }
+! { dg-final { cleanup-modules "impl one two" } }
Index: gfortran.dg/module_equivalence_2.f90
===================================================================
--- gfortran.dg/module_equivalence_2.f90	(revision 123170)
+++ gfortran.dg/module_equivalence_2.f90	(working copy)
@@ -22,3 +22,4 @@
   reM = 0.57d1
   if (M .ne. 0.57d1) call abort ()
 end
+! { dg-final { cleanup-modules "a b" } }
Index: gfortran.dg/use_4.f90
===================================================================
--- gfortran.dg/use_4.f90	(revision 123170)
+++ gfortran.dg/use_4.f90	(working copy)
@@ -31,3 +31,4 @@
   use foo, only: i => foo! { dg-error "been used as an external module name" }
   use foo, only: foo => i! { dg-error "been used as an external module name" }
 end program
+! { dg-final { cleanup-modules "foo bar test test2 test3" } }

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [patch, testsuite, committed] Clean up gfortran.dg leftover module  files.
  2007-03-26 21:40 [patch, testsuite, committed] Clean up gfortran.dg leftover module files Brooks Moses
@ 2007-03-26 21:45 ` FX Coudert
  2007-03-27 17:24   ` Bernhard Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: FX Coudert @ 2007-03-26 21:45 UTC (permalink / raw)
  To: Brooks Moses; +Cc: fortran, gcc-patches

> There are still a lot of module files left over from running  
> gfortran.fortran-torture, since (as Kaveh pointed out) that doesn't  
> recognize dg-final directives.  I've got a patch that adds the  
> directives, but not one for recognizing them yet....

I'm wondering why we don't simply incorporate all these tests in the  
gfortran.dg framework. It's rather easy to do, we just need to add  
the compile tests a { dg-do compile } line, and the execution tests  
both { dg-do run } and { dg-options "-w" }. There are a few special  
cases (the execution tests associated to a .x file), but nothing too  
difficult. We could even move them into subdirectory so we don't mix  
everything.

Speaking of which: there's a gfortran.dg/g77 directory, but it looks  
like the tests in it are never actually run when I do "make check- 
gfortran". Is that expected?

FX

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [patch, testsuite, committed] Clean up gfortran.dg leftover module  files.
  2007-03-26 21:45 ` FX Coudert
@ 2007-03-27 17:24   ` Bernhard Fischer
  2007-03-27 17:29     ` Bernhard Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Fischer @ 2007-03-27 17:24 UTC (permalink / raw)
  To: FX Coudert; +Cc: Brooks Moses, fortran, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2878 bytes --]

On Mon, Mar 26, 2007 at 10:28:40PM +0200, FX Coudert wrote:
>>There are still a lot of module files left over from running  
>>gfortran.fortran-torture, since (as Kaveh pointed out) that doesn't  
>>recognize dg-final directives.  I've got a patch that adds the  
>>directives, but not one for recognizing them yet....
>
>I'm wondering why we don't simply incorporate all these tests in the  
>gfortran.dg framework. It's rather easy to do, we just need to add  
>the compile tests a { dg-do compile } line, and the execution tests  
>both { dg-do run } and { dg-options "-w" }. There are a few special  
>cases (the execution tests associated to a .x file), but nothing too  
>difficult. We could even move them into subdirectory so we don't mix  
>everything.

Short of teaching dejagnu to automagically rm all .mod by scanning the
input for 'module [procedure] name', perhaps a quick script like the
attached would ease the handling of those?

Something for contrib/, perhaps?
Just a thought..

Sample output:
gfortran.dg$ ~/gfortran.dg-final.cleanup-mods.awk  *f *f90 *inc
Wrong encoding! sed -i -e 's/\x0D//g' actual_array_constructor_2.f90
[snip a handful of those]
Wrong encoding! sed -i -e 's/\x0D//g' used_types_4.f90
alloc_comp_basics_1.f90: no cleanup for module 'alloc_m'
assumed_charlen_function_1.f90: no cleanup for module 'integer_sets'
equiv_constraint_7.f90: no cleanup for module 'data'
error_recovery_1.f90: no cleanup for module 'gfcbug29_import'
func_derived_4.f90: no cleanup for module 'class_field'
interface_3.f90: no cleanup for module 'test_mod2'
keyword_symbol_1.f90: no cleanup for module 'blahblah'
sequence_types_1.f90: no cleanup for module 'data_types'
simpleif_2.f90: no cleanup for module 'read'
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ \1/' actual_array_constructor_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ alloc_m\1/' alloc_comp_basics_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ integer_sets\1/' assumed_charlen_function_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ data\1/' equiv_constraint_7.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ gfcbug29_import\1/' error_recovery_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ class_field\1/' func_derived_4.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ test_mod2\1/' interface_3.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ blahblah\1/' keyword_symbol_1.f90
sed -i -e '/cleanup-modules/s/\("[[:space:]]*}\)/ data_types\1/' sequence_types_1.f90

The "Wrong encoding" and "no cleanup for module" go to stderr, so to
automatically append the missing modules to cleanup-modules, do >
/dev/null and eval the rest

Untested, so beware..
>
>Speaking of which: there's a gfortran.dg/g77 directory, but it looks  
>like the tests in it are never actually run when I do "make check- 
>gfortran". Is that expected?
>
>FX
>

[-- Attachment #2: gfortran.dg-final.cleanup-mods.awk --]
[-- Type: text/plain, Size: 1469 bytes --]

#! /usr/bin/awk -f
# Public Domain
/[eE][nN][dD][ \t]*[mM][oO][dD][uU][lL][eE]/ { next; }
/^[ \t]*[mM][oO][dD][uU][lL][eE][ \t]/ {
	if (tolower($2) == "procedure")
		next;
	pos++;
	tmp = tolower($2);
	gsub(/[ \t
]*/, "", tmp);
	mod[pos] = tmp;
	file[pos] = FILENAME;
#	printf("%s:%d saw module '%s'\n", FILENAME, FNR, $2);
}
/{[ \t]*cleanup-modules/ {
	cleanup = tolower($0);
	sub(/.*{[ \t]*cleanup-modules/, "", cleanup);
	gsub(/[ \t][ \t]*/, " ", cleanup);
	gsub(/(^[ \t]+|["{}])/, "", cleanup);
	gsub(/[ \t]*$/, "", cleanup);
	split(cleanup, mods);
	for (i in mods) {
		cleaned++;
		clean[cleaned] = mods[i];
	}
}
/
/ {
	if (warned_encoding[FILENAME] != 1) {
		warned_encoding[FILENAME] = 1;
		print "Wrong encoding\x21 sed -i -e 's/\\x0D//g' "FILENAME > "/dev/stderr"
	}
}
BEGIN {
	pos = -1;
	cleaned = -1;
	fixup = 1;
}
END {
		done = 0;
	for (i = 0; i <= pos; i++) {
		for (j in clean) {
			if (mod[i] == clean[j]) {
				delete mod[i];
			}
		}
	}
	for (i = 0; i <= pos; i++) {
		if (length(mod[i])) {
			printf("%s: no cleanup for module '%s'\n",
				file[i], mod[i]) > "/dev/stderr";
			if (fixup) {
				emit[file[i]] = emit[file[i]] " " mod[i];
				gsub(/^[ ]*/, "", emit[file[i]]);
			}
		}
	}

	if (fixup) {
		oldfile = file[0];
		for (i = 0; i <= pos; i++) {
			if (length(emit[file[i]]) && (oldfile != file[i])) {
				printf("sed -i -e '/cleanup-modules/s/\\(\"[[:space:]]*}\\)/ %s\\1/' %s\n", emit[oldfile], oldfile);
				oldfile = file[i];
			}
		}
	}
}

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [patch, testsuite, committed] Clean up gfortran.dg leftover module  files.
  2007-03-27 17:24   ` Bernhard Fischer
@ 2007-03-27 17:29     ` Bernhard Fischer
  2012-03-01 21:10       ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Fischer @ 2007-03-27 17:29 UTC (permalink / raw)
  To: FX Coudert; +Cc: Brooks Moses, fortran, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 1146 bytes --]

On Tue, Mar 27, 2007 at 06:54:23PM +0200, Bernhard Fischer wrote:
>On Mon, Mar 26, 2007 at 10:28:40PM +0200, FX Coudert wrote:
>>>There are still a lot of module files left over from running  
>>>gfortran.fortran-torture, since (as Kaveh pointed out) that doesn't  
>>>recognize dg-final directives.  I've got a patch that adds the  
>>>directives, but not one for recognizing them yet....
>>
>>I'm wondering why we don't simply incorporate all these tests in the  
>>gfortran.dg framework. It's rather easy to do, we just need to add  
>>the compile tests a { dg-do compile } line, and the execution tests  
>>both { dg-do run } and { dg-options "-w" }. There are a few special  
>>cases (the execution tests associated to a .x file), but nothing too  
>>difficult. We could even move them into subdirectory so we don't mix  
>>everything.
>
>Short of teaching dejagnu to automagically rm all .mod by scanning the
>input for 'module [procedure] name', perhaps a quick script like the
>attached would ease the handling of those?
>
>Something for contrib/, perhaps?
>Just a thought..

And it helps to send the correct version too.. Sorry for that

[-- Attachment #2: gfortran.dg-final.cleanup-mods.awk --]
[-- Type: text/plain, Size: 1389 bytes --]

#! /usr/bin/awk -f
# Public Domain
/[eE][nN][dD][ \t]*[mM][oO][dD][uU][lL][eE]/ { next; }
/^[ \t]*[mM][oO][dD][uU][lL][eE][ \t]/ {
	if (tolower($2) == "procedure")
		next;
	pos++;
	tmp = tolower($2);
	gsub(/[ \t
]*/, "", tmp);
	mod[pos] = tmp;
	file[pos] = FILENAME;
#	printf("%s:%d saw module '%s'\n", FILENAME, FNR, $2);
}
/{[ \t]*cleanup-modules/ {
	cleanup = tolower($0);
	sub(/.*{[ \t]*cleanup-modules/, "", cleanup);
	gsub(/[ \t][ \t]*/, " ", cleanup);
	gsub(/(^[ \t]+|["{}])/, "", cleanup);
	gsub(/[ \t]*$/, "", cleanup);
	split(cleanup, mods);
	for (i in mods) {
		cleaned++;
		clean[cleaned] = mods[i];
	}
}
/
/ {
	if (warned_encoding[FILENAME] != 1) {
		warned_encoding[FILENAME] = 1;
		print "Wrong encoding\x21 sed -i -e 's/\\x0D//g' "FILENAME > "/dev/stderr"
	}
}
BEGIN {
	pos = -1;
	cleaned = -1;
	fixup = 1;
}
END {
	for (i = 0; i <= pos; i++) {
		for (j in clean) {
			if (mod[i] == clean[j]) {
				delete mod[i];
			}
		}
	}
	for (i = 0; i <= pos; i++) {
		if (length(mod[i])) {
			printf("%s: no cleanup for module '%s'\n",
				file[i], mod[i]) > "/dev/stderr";
			if (fixup) {
				emit[file[i]] = emit[file[i]] " " mod[i];
				gsub(/^[ ]*/, "", emit[file[i]]);
			}
		}
	}

	if (fixup) {
		for (i = 0; i <= pos; i++) {
			if (length(emit[file[i]])) {
				printf("sed -i -e '/cleanup-modules/s/\\(\"[[:space:]]*}\\)/ %s\\1/' %s\n", emit[file[i]], file[i]);
			}
		}
	}
}

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH] gfortran testsuite: implicitly cleanup-modules
  2007-03-27 17:29     ` Bernhard Fischer
@ 2012-03-01 21:10       ` Bernhard Reutner-Fischer
  2012-03-09  0:04         ` Mikael Morin
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-01 21:10 UTC (permalink / raw)
  To: fortran; +Cc: Bernhard Reutner-Fischer, gcc-patches

Hi,

By now we have quite some leftover modules in the testsuite, again.
Given that the previous suggestion in this thread -- to have a separate
script in contrib -- did not trigger any reaction, let me suggest the
patch below instead.

Teach the testsuite to cleanup the modules.
We do this by grepping for the module names and implicitly deleting them
when the test is finished. For the testcases that use modules from other
files we introduce a keep-modules procedure that keeps either all ("",
i.e. empty list) or the given modules of the source file.

A follow-up patch would remove the now superfluous cleanup-module calls
in the remaining testcases. Since that patch is pretty big (~360k) i do
not intend to send it in but want to apply it straight to the repo (it's
just a sed '/cleanup-modules/d' on the testcases that do not occur in
the below patch).

Is it ok to reference ../doc in the ChangeLog entry below to keep the
documentation change associated with the script itself?


The patch was bootstrapped and regression tested using tcl-8.5 on
x86_64-linux-gnu with no new regressions.

Ok for trunk?
Thanks,

gcc/testsuite/ChangeLog:

2012-02-28  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.
	* ../doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
	documentation.
	* 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.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 gcc/doc/sourcebuild.texi                           |   35 +++++++-
 .../gfortran.dg/binding_label_tests_10.f03         |    3 +-
 .../gfortran.dg/binding_label_tests_10_main.f03    |    3 +-
 .../gfortran.dg/binding_label_tests_11.f03         |    3 +-
 .../gfortran.dg/binding_label_tests_11_main.f03    |    3 +-
 .../gfortran.dg/binding_label_tests_13.f03         |    1 +
 .../gfortran.dg/binding_label_tests_13_main.f03    |    3 +-
 gcc/testsuite/gfortran.dg/class_45a.f03            |    1 +
 gcc/testsuite/gfortran.dg/class_4a.f03             |    1 +
 gcc/testsuite/gfortran.dg/class_4b.f03             |    1 +
 gcc/testsuite/gfortran.dg/class_4c.f03             |    3 +-
 gcc/testsuite/gfortran.dg/coarray/caf.exp          |    3 +
 .../gfortran.dg/test_common_binding_labels_2.f03   |    2 +-
 .../test_common_binding_labels_2_main.f03          |    3 +-
 .../gfortran.dg/test_common_binding_labels_3.f03   |    1 +
 .../test_common_binding_labels_3_main.f03          |    3 +-
 gcc/testsuite/gfortran.dg/whole_file_28.f90        |    1 +
 gcc/testsuite/gfortran.dg/whole_file_29.f90        |    2 +-
 gcc/testsuite/gfortran.dg/whole_file_30.f90        |    1 +
 gcc/testsuite/gfortran.dg/whole_file_31.f90        |    2 +-
 .../gfortran.fortran-torture/compile/compile.exp   |   65 +-------------
 .../gfortran.fortran-torture/execute/execute.exp   |   65 +-------------
 gcc/testsuite/lib/fortran-modules.exp              |   98 ++++++++++++++++++++
 gcc/testsuite/lib/fortran-torture.exp              |    5 +
 gcc/testsuite/lib/gcc-dg.exp                       |    8 +--
 gcc/testsuite/lib/gfortran-dg.exp                  |    4 +
 gcc/testsuite/lib/lto.exp                          |    9 ++-
 27 files changed, 172 insertions(+), 157 deletions(-)
 create mode 100644 gcc/testsuite/lib/fortran-modules.exp

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/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-modules.exp b/gcc/testsuite/lib/fortran-modules.exp
new file mode 100644
index 0000000..9aa283b
--- /dev/null
+++ b/gcc/testsuite/lib/fortran-modules.exp
@@ -0,0 +1,98 @@
+#   Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+# helper to deal with fortran modules
+
+# Remove files for specified Fortran modules.
+proc cleanup-modules { modlist } {
+    global clean
+    foreach mod [concat $modlist $clean] {
+	set m [string tolower $mod].mod
+	verbose "cleanup-module `$m'" 2
+	if [is_remote host] {
+	    remote_file host delete $m
+	}
+	remote_file build delete $m
+    }
+}
+
+proc keep-modules { modlist } {
+    global clean
+    # if the modlist is empty, keep everything
+    if {[llength $modlist] < 1} {
+	set clean {}
+    } else {
+        set cleansed {}
+	foreach cl $clean {
+	    if {[lsearch $cl $modlist] < 0} {
+		lappend cleansed $cl
+	    }
+	}
+	if {[llength $clean] == [llength $cleansed]} {
+	    warning "keep-modules had no effect?! Possible typo in module name."
+	}
+	set clean $cleansed
+    }
+}
+
+# collect all module names from a source-file
+proc list-module-names { files } {
+    global clean
+    set clean {}
+    foreach file $files {
+	foreach mod [list-module-names-1 $file] {
+	    if {[lsearch $clean $mod] < 0} {
+		lappend clean $mod
+	    }
+	}
+    }
+    return [join $clean " "]
+}
+
+proc list-module-names-1 { file } {
+    set result {}
+    set tmp [grep $file "^\[ \t\]*((#)?\[ \t\]*include|\[mM\]\[oO\]\[dD\]\[uU\]\[lL\]\[eE\](?!\[ \t\]+\[pP\]\[rR\]\[oO\]\[cC\]\[eE\]\[dD\]\[uU\]\[rR\]\[eE\]\[ \t\]+))\[ \t\]+.*" line]
+    if {![string match "" $tmp]} {
+	foreach i $tmp {
+	    regexp "(\[0-9\]+)\[ \t\]+(?:(?:#)?\[ \t\]*include\[ \t\]+)\[\"\](\[^\"\]*)\[\"\]" $i dummy lineno include_file
+	    if {[info exists include_file]} {
+		set dir [file dirname $file]
+		set inc "$dir/$include_file"
+		unset include_file
+		if {![file readable $inc]} {
+		    warning "Line $lineno includes unreadable file `$inc'"
+		    continue
+		}
+		verbose "Line $lineno includes `$inc'" 3
+		foreach mod [list-module-names-1 $inc] {
+		    if {[lsearch $result $mod] < 0} {
+			lappend result $mod
+		    }
+		}
+		continue
+	    }
+	    regexp "(\[0-9\]+)\[ \t\]+(?:(\[mM\]\[oO\]\[dD\]\[uU\]\[lL\]\[eE\]\[ \t\]+(?!\[pP\]\[rR\]\[oO\]\[cC\]\[eE\]\[dD\]\[uU\]\[rR\]\[eE\]\[ \t\]+)))(\[^ \t;\]*)" $i i lineno keyword mod
+	    if {![info exists lineno]} {
+		continue
+	    }
+	    verbose "Line $lineno mentions module `$mod'" 3
+	    if {[lsearch $result $mod] < 0} {
+		lappend result $mod
+	    }
+	}
+    }
+    return $result
+}
diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp
index 8d6e2dd..1009576 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,6 +393,7 @@ proc fortran-torture { args } {
 	    return
 	}
     }
+    list-module-names $src
    
     # loop through all the options
     set option_list $torture_with_loops
@@ -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 ""
+	}
     }
 }
 
-- 
1.7.9

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-01 21:10       ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
@ 2012-03-09  0:04         ` Mikael Morin
  2012-03-13 16:39           ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Mikael Morin @ 2012-03-09  0:04 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: fortran, gcc-patches

On 01/03/2012 22:09, Bernhard Reutner-Fischer wrote:
> Hi,
> 
> By now we have quite some leftover modules in the testsuite, again.
> Given that the previous suggestion in this thread -- to have a separate
> script in contrib -- did not trigger any reaction, let me suggest the
> patch below instead.
> 
> Teach the testsuite to cleanup the modules.
> We do this by grepping for the module names and implicitly deleting them
> when the test is finished. For the testcases that use modules from other
> files we introduce a keep-modules procedure that keeps either all ("",
> i.e. empty list) or the given modules of the source file.
> 
> A follow-up patch would remove the now superfluous cleanup-module calls
> in the remaining testcases. Since that patch is pretty big (~360k) i do
> not intend to send it in but want to apply it straight to the repo (it's
> just a sed '/cleanup-modules/d' on the testcases that do not occur in
> the below patch).
> 
> Is it ok to reference ../doc in the ChangeLog entry below to keep the
> documentation change associated with the script itself?
> 
No, the changes are associated by being in the same commit (and their
ChangeLog entries in the same subversion commit log).

> 
> The patch was bootstrapped and regression tested using tcl-8.5 on
> x86_64-linux-gnu with no new regressions.
> 
> Ok for trunk?

According to http://tmml.sourceforge.net/doc/tcl/regexp.html
you can use the -nocase option (= case insensitive) to simplify the
regexp patterns.
I noticed one whitespace inconsistency in keep-modules.
Otherwise it looks good to me (but I'm not a testsuite maintainer).

Mikael

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-09  0:04         ` Mikael Morin
@ 2012-03-13 16:39           ` Bernhard Reutner-Fischer
  2012-03-13 20:31             ` Mike Stump
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-13 16:39 UTC (permalink / raw)
  To: Mikael Morin; +Cc: fortran, gcc-patches, ro, mikestump

[-- Attachment #1: Type: text/plain, Size: 1965 bytes --]

On Fri, Mar 09, 2012 at 01:02:01AM +0100, Mikael Morin wrote:
>On 01/03/2012 22:09, Bernhard Reutner-Fischer wrote:
>> Hi,
>> 
>> By now we have quite some leftover modules in the testsuite, again.
>> Given that the previous suggestion in this thread -- to have a separate
>> script in contrib -- did not trigger any reaction, let me suggest the
>> patch below instead.
>> 
>> Teach the testsuite to cleanup the modules.
>> We do this by grepping for the module names and implicitly deleting them
>> when the test is finished. For the testcases that use modules from other
>> files we introduce a keep-modules procedure that keeps either all ("",
>> i.e. empty list) or the given modules of the source file.
>> 
>> A follow-up patch would remove the now superfluous cleanup-module calls
>> in the remaining testcases. Since that patch is pretty big (~360k) i do
>> not intend to send it in but want to apply it straight to the repo (it's
>> just a sed '/cleanup-modules/d' on the testcases that do not occur in
>> the below patch).
>> 
>> Is it ok to reference ../doc in the ChangeLog entry below to keep the
>> documentation change associated with the script itself?
>> 
>No, the changes are associated by being in the same commit (and their
>ChangeLog entries in the same subversion commit log).

done.
>
>> 
>> The patch was bootstrapped and regression tested using tcl-8.5 on
>> x86_64-linux-gnu with no new regressions.
>> 
>> Ok for trunk?
>
>According to http://tmml.sourceforge.net/doc/tcl/regexp.html
>you can use the -nocase option (= case insensitive) to simplify the
>regexp patterns.

Yes, but i am not sure how portable it is since there is no user of
-nocase in the tree at the moment. I prefer to keep it as is for now.

>I noticed one whitespace inconsistency in keep-modules.

Fixed.

>Otherwise it looks good to me (but I'm not a testsuite maintainer).

Attached an updated patch.
Could some of the testsuite maintainers please eyeball?

thanks,

[-- Attachment #2: 0001-gfortran-testsuite-implicitly-cleanup-modules.patch --]
[-- Type: text/x-diff, Size: 26771 bytes --]

From 2929accc55672ccac9033c6946b7eef44d99cf05 Mon Sep 17 00:00:00 2001
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Date: Tue, 28 Feb 2012 22:12:16 +0100
Subject: [PATCH] gfortran testsuite: implicitly cleanup-modules

gcc/ChangeLog:
2012-02-28  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

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

gcc/testsuite/ChangeLog:

2012-02-28  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.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 gcc/doc/sourcebuild.texi                           |   35 +++++++-
 .../gfortran.dg/binding_label_tests_10.f03         |    3 +-
 .../gfortran.dg/binding_label_tests_10_main.f03    |    3 +-
 .../gfortran.dg/binding_label_tests_11.f03         |    3 +-
 .../gfortran.dg/binding_label_tests_11_main.f03    |    3 +-
 .../gfortran.dg/binding_label_tests_13.f03         |    1 +
 .../gfortran.dg/binding_label_tests_13_main.f03    |    3 +-
 gcc/testsuite/gfortran.dg/class_45a.f03            |    1 +
 gcc/testsuite/gfortran.dg/class_4a.f03             |    1 +
 gcc/testsuite/gfortran.dg/class_4b.f03             |    1 +
 gcc/testsuite/gfortran.dg/class_4c.f03             |    3 +-
 gcc/testsuite/gfortran.dg/coarray/caf.exp          |    3 +
 .../gfortran.dg/test_common_binding_labels_2.f03   |    2 +-
 .../test_common_binding_labels_2_main.f03          |    3 +-
 .../gfortran.dg/test_common_binding_labels_3.f03   |    1 +
 .../test_common_binding_labels_3_main.f03          |    3 +-
 gcc/testsuite/gfortran.dg/whole_file_28.f90        |    1 +
 gcc/testsuite/gfortran.dg/whole_file_29.f90        |    2 +-
 gcc/testsuite/gfortran.dg/whole_file_30.f90        |    1 +
 gcc/testsuite/gfortran.dg/whole_file_31.f90        |    2 +-
 .../gfortran.fortran-torture/compile/compile.exp   |   65 +-------------
 .../gfortran.fortran-torture/execute/execute.exp   |   65 +-------------
 gcc/testsuite/lib/fortran-modules.exp              |   98 ++++++++++++++++++++
 gcc/testsuite/lib/fortran-torture.exp              |    7 +-
 gcc/testsuite/lib/gcc-dg.exp                       |    8 +--
 gcc/testsuite/lib/gfortran-dg.exp                  |    4 +
 gcc/testsuite/lib/lto.exp                          |    9 ++-
 27 files changed, 173 insertions(+), 158 deletions(-)
 create mode 100644 gcc/testsuite/lib/fortran-modules.exp

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/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-modules.exp b/gcc/testsuite/lib/fortran-modules.exp
new file mode 100644
index 0000000..4069fb2
--- /dev/null
+++ b/gcc/testsuite/lib/fortran-modules.exp
@@ -0,0 +1,98 @@
+#   Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GCC; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
+
+# helper to deal with fortran modules
+
+# Remove files for specified Fortran modules.
+proc cleanup-modules { modlist } {
+    global clean
+    foreach mod [concat $modlist $clean] {
+	set m [string tolower $mod].mod
+	verbose "cleanup-module `$m'" 2
+	if [is_remote host] {
+	    remote_file host delete $m
+	}
+	remote_file build delete $m
+    }
+}
+
+proc keep-modules { modlist } {
+    global clean
+    # if the modlist is empty, keep everything
+    if {[llength $modlist] < 1} {
+	set clean {}
+    } else {
+	set cleansed {}
+	foreach cl $clean {
+	    if {[lsearch $cl $modlist] < 0} {
+		lappend cleansed $cl
+	    }
+	}
+	if {[llength $clean] == [llength $cleansed]} {
+	    warning "keep-modules had no effect?! Possible typo in module name."
+	}
+	set clean $cleansed
+    }
+}
+
+# collect all module names from a source-file
+proc list-module-names { files } {
+    global clean
+    set clean {}
+    foreach file $files {
+	foreach mod [list-module-names-1 $file] {
+	    if {[lsearch $clean $mod] < 0} {
+		lappend clean $mod
+	    }
+	}
+    }
+    return [join $clean " "]
+}
+
+proc list-module-names-1 { file } {
+    set result {}
+    set tmp [grep $file "^\[ \t\]*((#)?\[ \t\]*include|\[mM\]\[oO\]\[dD\]\[uU\]\[lL\]\[eE\](?!\[ \t\]+\[pP\]\[rR\]\[oO\]\[cC\]\[eE\]\[dD\]\[uU\]\[rR\]\[eE\]\[ \t\]+))\[ \t\]+.*" line]
+    if {![string match "" $tmp]} {
+	foreach i $tmp {
+	    regexp "(\[0-9\]+)\[ \t\]+(?:(?:#)?\[ \t\]*include\[ \t\]+)\[\"\](\[^\"\]*)\[\"\]" $i dummy lineno include_file
+	    if {[info exists include_file]} {
+		set dir [file dirname $file]
+		set inc "$dir/$include_file"
+		unset include_file
+		if {![file readable $inc]} {
+		    warning "Line $lineno includes unreadable file `$inc'"
+		    continue
+		}
+		verbose "Line $lineno includes `$inc'" 3
+		foreach mod [list-module-names-1 $inc] {
+		    if {[lsearch $result $mod] < 0} {
+			lappend result $mod
+		    }
+		}
+		continue
+	    }
+	    regexp "(\[0-9\]+)\[ \t\]+(?:(\[mM\]\[oO\]\[dD\]\[uU\]\[lL\]\[eE\]\[ \t\]+(?!\[pP\]\[rR\]\[oO\]\[cC\]\[eE\]\[dD\]\[uU\]\[rR\]\[eE\]\[ \t\]+)))(\[^ \t;\]*)" $i i lineno keyword mod
+	    if {![info exists lineno]} {
+		continue
+	    }
+	    verbose "Line $lineno mentions module `$mod'" 3
+	    if {[lsearch $result $mod] < 0} {
+		lappend result $mod
+	    }
+	}
+    }
+    return $result
+}
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 ""
+	}
     }
 }
 
-- 
1.7.9.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-13 16:39           ` Bernhard Reutner-Fischer
@ 2012-03-13 20:31             ` Mike Stump
  2012-03-15 12:40               ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Mike Stump @ 2012-03-13 20:31 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Mikael Morin, fortran, gcc-patches, ro

On Mar 13, 2012, at 9:38 AM, Bernhard Reutner-Fischer wrote:
> Could some of the testsuite maintainers please eyeball?

I've eyed it, the only thing that stood out was:

-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
-}

which, I hope does what you want.

Assuming you like those parts, Ok.

Since it touches non-fortran, please watch for and respond to any problems it might cause.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-13 20:31             ` Mike Stump
@ 2012-03-15 12:40               ` Bernhard Reutner-Fischer
  2012-03-15 15:57                 ` Richard Guenther
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-15 12:40 UTC (permalink / raw)
  To: Mike Stump; +Cc: Mikael Morin, fortran, gcc-patches, ro

On Tue, Mar 13, 2012 at 01:30:29PM -0700, Mike Stump wrote:
>On Mar 13, 2012, at 9:38 AM, Bernhard Reutner-Fischer wrote:
>> Could some of the testsuite maintainers please eyeball?
>
>I've eyed it, the only thing that stood out was:
>
>-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
>-}
>
>which, I hope does what you want.

It replaces a manually unrolled loop with a loop over the
testcase-extensions and works as expected. Or did you mean something
else?
>
>Assuming you like those parts, Ok.

committed as r185430.
>
>Since it touches non-fortran, please watch for and respond to any problems it might cause.

Of course, as always.

PS: I saw that the cleanup-tree-dump is also a bit redundant.
When looking at e.g. gcc/testsuite/gcc.dg/pr52578.c one would think that
scan-tree-dump-times might be able to automagically collect which
dumpfiles to cleanup as last step in dg-final.

One could go one step further and even implicitly add the corresponding
dg-options according to the expected scan-tree-dump files although this
might not be worth it iff there are passes that may produce dump-files
different to their pass name (did not look if this is possible). One
would have to strip the pass-number off the dump-file for passes that
are run more than once, too. Just a thought..

Thanks and cheers,

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-15 12:40               ` Bernhard Reutner-Fischer
@ 2012-03-15 15:57                 ` Richard Guenther
  2012-03-15 16:56                   ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Richard Guenther @ 2012-03-15 15:57 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer
  Cc: Mike Stump, Mikael Morin, fortran, gcc-patches, ro

On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
<rep.dot.nop@gmail.com> wrote:
> On Tue, Mar 13, 2012 at 01:30:29PM -0700, Mike Stump wrote:
>>On Mar 13, 2012, at 9:38 AM, Bernhard Reutner-Fischer wrote:
>>> Could some of the testsuite maintainers please eyeball?
>>
>>I've eyed it, the only thing that stood out was:
>>
>>-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
>>-}
>>
>>which, I hope does what you want.
>
> It replaces a manually unrolled loop with a loop over the
> testcase-extensions and works as expected. Or did you mean something
> else?
>>
>>Assuming you like those parts, Ok.
>
> committed as r185430.

You forgot to add fortran-modules.exp :(

That breaks final testing result it seems (at least).

Richard.

>>
>>Since it touches non-fortran, please watch for and respond to any problems it might cause.
>
> Of course, as always.
>
> PS: I saw that the cleanup-tree-dump is also a bit redundant.
> When looking at e.g. gcc/testsuite/gcc.dg/pr52578.c one would think that
> scan-tree-dump-times might be able to automagically collect which
> dumpfiles to cleanup as last step in dg-final.
>
> One could go one step further and even implicitly add the corresponding
> dg-options according to the expected scan-tree-dump files although this
> might not be worth it iff there are passes that may produce dump-files
> different to their pass name (did not look if this is possible). One
> would have to strip the pass-number off the dump-file for passes that
> are run more than once, too. Just a thought..
>
> Thanks and cheers,

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-15 15:57                 ` Richard Guenther
@ 2012-03-15 16:56                   ` Bernhard Reutner-Fischer
  2012-03-15 19:36                     ` Jakub Jelinek
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-15 16:56 UTC (permalink / raw)
  To: Richard Guenther; +Cc: Mike Stump, Mikael Morin, fortran, gcc-patches, ro

On Thu, Mar 15, 2012 at 04:57:12PM +0100, Richard Guenther wrote:
>On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
><rep.dot.nop@gmail.com> wrote:

>> committed as r185430.
>
>You forgot to add fortran-modules.exp :(

committed as r185439.
I am very sorry for that..
>
>That breaks final testing result it seems (at least).

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-15 16:56                   ` Bernhard Reutner-Fischer
@ 2012-03-15 19:36                     ` Jakub Jelinek
  2012-03-16 10:05                       ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Jakub Jelinek @ 2012-03-15 19:36 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer
  Cc: Richard Guenther, Mike Stump, Mikael Morin, fortran, gcc-patches, ro

On Thu, Mar 15, 2012 at 05:56:32PM +0100, Bernhard Reutner-Fischer wrote:
> On Thu, Mar 15, 2012 at 04:57:12PM +0100, Richard Guenther wrote:
> >On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
> ><rep.dot.nop@gmail.com> wrote:
> 
> >> committed as r185430.
> >
> >You forgot to add fortran-modules.exp :(
> 
> committed as r185439.
> I am very sorry for that..

Even with that file in, libgomp and libitm make check still fail,
can't find fortran-modules.exp.

	Jakub

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-15 19:36                     ` Jakub Jelinek
@ 2012-03-16 10:05                       ` Bernhard Reutner-Fischer
  2012-03-16 15:00                         ` Bernhard Reutner-Fischer
                                           ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-16 10:05 UTC (permalink / raw)
  To: Jakub Jelinek
  Cc: Richard Guenther, Mike Stump, Mikael Morin, fortran, gcc-patches, ro

[-- Attachment #1: Type: text/plain, Size: 1415 bytes --]

On Thu, Mar 15, 2012 at 08:35:47PM +0100, Jakub Jelinek wrote:
>On Thu, Mar 15, 2012 at 05:56:32PM +0100, Bernhard Reutner-Fischer wrote:
>> On Thu, Mar 15, 2012 at 04:57:12PM +0100, Richard Guenther wrote:
>> >On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
>> ><rep.dot.nop@gmail.com> wrote:
>> 
>> >> committed as r185430.
>> >
>> >You forgot to add fortran-modules.exp :(
>> 
>> committed as r185439.
>> I am very sorry for that..
>
>Even with that file in, libgomp and libitm make check still fail,
>can't find fortran-modules.exp.

I have committed the attached as r185460.

The underlying problem is that dejagnu's runtest.exp only allows for a
single "libdir" where it searches for includes -- see comment in
libgomp.exp and libitm.exp

While just adding more and more load_gcc_lib calls to users outside of
gcc/ is the easy way out, it is (IMHO) error prone (i ran make check
just in gcc and not in toplevel, fixed my script now).

It would be desirable if dejagnu would just find all the currently
load_gcc_lib'ed files on its own, via load_lib.
One could
- teach dejagnu to treat libdir as a list of paths
- symlink gcc/testsuite/lib/* into */testsuite/config (ugly)

for reference, dejagnu's load_lib currently searches in
../lib $libdir $libdir/lib [file dirname [file dirname $srcdir]]/dejagnu/lib $srcdir/lib $execpath/lib . [file dirname [file dirname [file dirname $srcdir]]]/dejagnu/lib

[-- Attachment #2: testsuite-fixup.r185460.patch --]
[-- Type: text/x-diff, Size: 1643 bytes --]

Index: libitm/ChangeLog
===================================================================
--- libitm/ChangeLog	(revision 185459)
+++ libitm/ChangeLog	(revision 185460)
@@ -1,3 +1,7 @@
+2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* testsuite/lib/libitm.exp: load fortran-modules.exp
+
 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* configure.tgt (*-*-irix6*): Remove.
Index: libitm/testsuite/lib/libitm.exp
===================================================================
--- libitm/testsuite/lib/libitm.exp	(revision 185459)
+++ libitm/testsuite/lib/libitm.exp	(revision 185460)
@@ -38,6 +38,7 @@
 load_gcc_lib torture-options.exp
 load_gcc_lib timeout.exp
 load_gcc_lib timeout-dg.exp
+load_gcc_lib fortran-modules.exp
 load_gcc_lib gcc-dg.exp
 
 set dg-do-what-default run
Index: libgomp/ChangeLog
===================================================================
--- libgomp/ChangeLog	(revision 185459)
+++ libgomp/ChangeLog	(revision 185460)
@@ -1,3 +1,7 @@
+2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
+
+	* testsuite/lib/libgomp.exp: load fortran-modules.exp
+
 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 	* configure.tgt (mips-sgi-irix6*): Remove.
Index: libgomp/testsuite/lib/libgomp.exp
===================================================================
--- libgomp/testsuite/lib/libgomp.exp	(revision 185459)
+++ libgomp/testsuite/lib/libgomp.exp	(revision 185460)
@@ -24,6 +24,7 @@
 load_gcc_lib torture-options.exp
 load_gcc_lib timeout.exp
 load_gcc_lib timeout-dg.exp
+load_gcc_lib fortran-modules.exp
 load_gcc_lib gcc-dg.exp
 load_gcc_lib gfortran-dg.exp
 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-16 10:05                       ` Bernhard Reutner-Fischer
@ 2012-03-16 15:00                         ` Bernhard Reutner-Fischer
  2012-06-29  0:15                           ` Bernhard Reutner-Fischer
  2012-03-19 17:36                         ` Rainer Orth
  2015-04-23  8:55                         ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
  2 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-16 15:00 UTC (permalink / raw)
  To: Jakub Jelinek
  Cc: Richard Guenther, Mike Stump, Mikael Morin, fortran, gcc-patches, ro

[-- Attachment #1: Type: text/plain, Size: 785 bytes --]

On Fri, Mar 16, 2012 at 11:04:45AM +0100, Bernhard Reutner-Fischer wrote:

>The underlying problem is that dejagnu's runtest.exp only allows for a
>single "libdir" where it searches for includes -- see comment in
>libgomp.exp and libitm.exp
>
>While just adding more and more load_gcc_lib calls to users outside of
>gcc/ is the easy way out, it is (IMHO) error prone (i ran make check
>just in gcc and not in toplevel, fixed my script now).
>
>It would be desirable if dejagnu would just find all the currently
>load_gcc_lib'ed files on its own, via load_lib.
>One could
>- teach dejagnu to treat libdir as a list of paths

The attached works for me for a toplevel make -k check (double-checked
with individual make check in lib{gomp,itm}). I do not intend to pursue
this any further.

[-- Attachment #2: dejagnu-runtest-add-libdirs.00.patch --]
[-- Type: text/x-diff, Size: 1910 bytes --]

runtest.exp: add libdirs list for load_lib()

libgomp wants to load .exp files from ../gcc/testsuite/lib.
Instrument load_lib to be able to find the files.
Previously we used to have a helper proc that had to first load all
dependent .exp manually and then, again manually, the desired .exp.

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

	* runtest.exp (libdirs): New global list.
	(load_lib): Append libdirs to search_and_load_files directories.

diff --git a/runtest.exp b/runtest.exp
index 4bfed83..8e6a7de 100644
--- a/runtest.exp
+++ b/runtest.exp
@@ -589,7 +589,7 @@ proc lookfor_file { dir name } {
 # source tree, (up one or two levels), then in the current dir.
 #
 proc load_lib { file } {
-    global verbose libdir srcdir base_dir execpath tool
+    global verbose libdir libdirs srcdir base_dir execpath tool
     global loaded_libs
 
     if {[info exists loaded_libs($file)]} {
@@ -597,8 +597,11 @@ proc load_lib { file } {
     }
 
     set loaded_libs($file) ""
-
-    if { [search_and_load_file "library file" $file [list ../lib $libdir $libdir/lib [file dirname [file dirname $srcdir]]/dejagnu/lib $srcdir/lib $execpath/lib . [file dirname [file dirname [file dirname $srcdir]]]/dejagnu/lib]] == 0 } {
+    set search_dirs [list ../lib $libdir $libdir/lib [file dirname [file dirname $srcdir]]/dejagnu/lib $srcdir/lib $execpath/lib . [file dirname [file dirname [file dirname $srcdir]]]/dejagnu/lib]
+    if {[info exists libdirs]} {
+        lappend search_dirs $libdirs
+    }
+    if { [search_and_load_file "library file" $file $search_dirs ] == 0 } {
 	send_error "ERROR: Couldn't find library file $file.\n"
 	exit 1
     }
@@ -652,6 +655,8 @@ set libdir   [file dirname $execpath]/dejagnu
 if {[info exists env(DEJAGNULIBS)]} {
     set libdir $env(DEJAGNULIBS)
 }
+# list of extra directories for load_lib
+set libdirs {}
 
 verbose "Using $libdir to find libraries"
 

[-- Attachment #3: gcc-use-dejagnu-libdirs.00.patch --]
[-- Type: text/x-diff, Size: 3089 bytes --]

libgomp/ChangeLog

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

	* testsuite/lib/libgomp.exp: Set libdirs. Remove now redundant
	manual inclusion of gfortran-dg's dependencies.

libitm/ChangeLog

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

	* testsuite/lib/libitm.exp: Set libdirs. Remove now redundant
	manual inclusion of gcc-dg's dependencies.


diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp
index 02909f8..54e1e652 100644
--- a/libgomp/testsuite/lib/libgomp.exp
+++ b/libgomp/testsuite/lib/libgomp.exp
@@ -1,32 +1,12 @@
-# Damn dejagnu for not having proper library search paths for load_lib.
-# We have to explicitly load everything that gcc-dg.exp wants to load.
+global libdirs
+lappend libdirs $srcdir/../../gcc/testsuite/lib
 
-proc load_gcc_lib { filename } {
-    global srcdir loaded_libs
+load_lib dg.exp
 
-    load_file $srcdir/../../gcc/testsuite/lib/$filename
-    set loaded_libs($filename) ""
-}
+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!
+load_lib gcc-defs.exp
 
-load_lib dg.exp
-load_gcc_lib file-format.exp
-load_gcc_lib target-supports.exp
-load_gcc_lib target-supports-dg.exp
-load_gcc_lib scanasm.exp
-load_gcc_lib scandump.exp
-load_gcc_lib scanrtl.exp
-load_gcc_lib scantree.exp
-load_gcc_lib scanipa.exp
-load_gcc_lib prune.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib wrapper.exp
-load_gcc_lib gcc-defs.exp
-load_gcc_lib torture-options.exp
-load_gcc_lib timeout.exp
-load_gcc_lib timeout-dg.exp
-load_gcc_lib fortran-modules.exp
-load_gcc_lib gcc-dg.exp
-load_gcc_lib gfortran-dg.exp
+load_lib gfortran-dg.exp
 
 set dg-do-what-default run
 
diff --git a/libitm/testsuite/lib/libitm.exp b/libitm/testsuite/lib/libitm.exp
index f322ed5..1ac8f31 100644
--- a/libitm/testsuite/lib/libitm.exp
+++ b/libitm/testsuite/lib/libitm.exp
@@ -12,34 +12,15 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
-# Damn dejagnu for not having proper library search paths for load_lib.
-# We have to explicitly load everything that gcc-dg.exp wants to load.
+global libdirs
+lappend libdirs $srcdir/../../gcc/testsuite/lib
 
-proc load_gcc_lib { filename } {
-    global srcdir loaded_libs
+load_lib dg.exp
 
-    load_file $srcdir/../../gcc/testsuite/lib/$filename
-    set loaded_libs($filename) ""
-}
+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!
+load_lib gcc-defs.exp
 
-load_lib dg.exp
-load_gcc_lib file-format.exp
-load_gcc_lib target-supports.exp
-load_gcc_lib target-supports-dg.exp
-load_gcc_lib scanasm.exp
-load_gcc_lib scandump.exp
-load_gcc_lib scanrtl.exp
-load_gcc_lib scantree.exp
-load_gcc_lib scanipa.exp
-load_gcc_lib prune.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib wrapper.exp
-load_gcc_lib gcc-defs.exp
-load_gcc_lib torture-options.exp
-load_gcc_lib timeout.exp
-load_gcc_lib timeout-dg.exp
-load_gcc_lib fortran-modules.exp
-load_gcc_lib gcc-dg.exp
+load_lib gcc-dg.exp
 
 set dg-do-what-default run
 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-16 10:05                       ` Bernhard Reutner-Fischer
  2012-03-16 15:00                         ` Bernhard Reutner-Fischer
@ 2012-03-19 17:36                         ` Rainer Orth
  2012-03-22 12:30                           ` Bernhard Reutner-Fischer
  2015-04-23  8:55                         ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
  2 siblings, 1 reply; 31+ messages in thread
From: Rainer Orth @ 2012-03-19 17:36 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer
  Cc: Jakub Jelinek, Richard Guenther, Mike Stump, Mikael Morin,
	fortran, gcc-patches

Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> writes:

> On Thu, Mar 15, 2012 at 08:35:47PM +0100, Jakub Jelinek wrote:
>>On Thu, Mar 15, 2012 at 05:56:32PM +0100, Bernhard Reutner-Fischer wrote:
>>> On Thu, Mar 15, 2012 at 04:57:12PM +0100, Richard Guenther wrote:
>>> >On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
>>> ><rep.dot.nop@gmail.com> wrote:
>>> 
>>> >> committed as r185430.
>>> >
>>> >You forgot to add fortran-modules.exp :(
>>> 
>>> committed as r185439.
>>> I am very sorry for that..
>>
>>Even with that file in, libgomp and libitm make check still fail,
>>can't find fortran-modules.exp.
>
> I have committed the attached as r185460.

Unfortunately, this patch creates a bogus warning in the libgomp
testsuite, which also shows up in mail-report.log:

WARNING: Line 30 includes unreadable file \`/vol/gcc/src/hg/trunk/local/libgomp/testsuite/libgomp.fortran/omp_lib.h'

fortran-modules.exp (list-module-names-1) assumes that included files
are relative to the source, but omp_lib.h is a generated file and lives
in $objdir, and is found at compile time via -I switches.

Besides, the message is less than helpful since it gives no indication
as to which files includes the missing one.

Please fix.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-19 17:36                         ` Rainer Orth
@ 2012-03-22 12:30                           ` Bernhard Reutner-Fischer
  2012-04-03 12:17                             ` [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2 Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-03-22 12:30 UTC (permalink / raw)
  To: Rainer Orth
  Cc: Jakub Jelinek, Richard Guenther, Mike Stump, Mikael Morin,
	fortran, gcc-patches

On Mon, Mar 19, 2012 at 06:36:12PM +0100, Rainer Orth wrote:

>Unfortunately, this patch creates a bogus warning in the libgomp
>testsuite, which also shows up in mail-report.log:
>
>WARNING: Line 30 includes unreadable file \`/vol/gcc/src/hg/trunk/local/libgomp/testsuite/libgomp.fortran/omp_lib.h'
>
>fortran-modules.exp (list-module-names-1) assumes that included files
>are relative to the source, but omp_lib.h is a generated file and lives
>in $objdir, and is found at compile time via -I switches.

fortran-modules does not (currently) use include-dir search path logic
to find include files.
>
>Besides, the message is less than helpful since it gives no indication
>as to which files includes the missing one.

RUNTESTFLAGS='-v -v' (for example) shows the testcase that it currently
works on, as you know.
>
>Please fix.

I have removed the unwarranted warning after successful (1) toplevel
regtesting and committed it as r185688.

The second part of the "implicit cleanup-modules" would be to remove
the now superfluous manual cleanup-modules calls.

Something like this, ran in the sourcedir removes those:
(cd gcc/testsuite && grep -rl "cleanup-modules" * | \
 egrep -v "(\.exp|ChangeLog|\.svn|gfortran.dg/(class_4(a|b|c|5a).f03|binding_label_tests_1(0|1|1_main|3|3_main).f03|test_common_binding_labels_(2|2_main|3|3_main).f03|whole_file_(28|29|30|31).f90))" | \
 while read f;do \
   sed -i -e ':crap' -e '/cleanup-modules/d' -e '/^\n*$/{$d;N;bcrap' -e '}' $f; \
 done)

1) Completely unrelated bug in the testsuite showed up as 2 regressions
in the above testing. I have filed that as gcc.gnu.org/PR52665

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-03-22 12:30                           ` Bernhard Reutner-Fischer
@ 2012-04-03 12:17                             ` Bernhard Reutner-Fischer
  2012-04-03 12:58                               ` Bernhard Reutner-Fischer
  2012-04-13 14:15                               ` Mike Stump
  0 siblings, 2 replies; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-04-03 12:17 UTC (permalink / raw)
  To: fortran; +Cc: Bernhard Reutner-Fischer, gcc-patches

Hi,

The second part of implicitly doing cleanup-modules is to remove the now
superfluous dg-final directives.

The following patch (against trunk of 2012-03-12) is the result of
(cd gcc/testsuite && grep -rl "cleanup-modules" * | \
 egrep -v "(\.exp|ChangeLog|\.svn|gfortran.dg/(class_4(a|b|c|5a).f03|binding_label_tests_1(0|1|1_main|3|3_main).f03|test_common_binding_labels_(2|2_main|3|3_main).f03|whole_file_(28|29|30|31).f90))" | \
 while read f;do \
   sed -i -e ':crap' -e '/cleanup-modules/d' -e '/^\n*$/{$d;N;bcrap' -e '}' $f; \
 done)

I would like to avoid listing all affected files in the ChangeLog entry,
may i write
	* all fortran-test: Remove now redundant manual cleanup-modules
	directive.

or do i have to list them all?

Ok for trunk?

Bernhard Reutner-Fischer (1):
  gcc/testsuite/ChangeLog

 gcc/testsuite/gfortran.dg/abstract_type_1.f90      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_2.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_3.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_4.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_5.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_6.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_7.f03      |    1 -
 gcc/testsuite/gfortran.dg/abstract_type_8.f03      |    2 --
 gcc/testsuite/gfortran.dg/access_spec_1.f90        |    1 -
 gcc/testsuite/gfortran.dg/access_spec_2.f90        |    1 -
 gcc/testsuite/gfortran.dg/access_spec_3.f90        |    1 -
 .../gfortran.dg/actual_array_constructor_1.f90     |    2 --
 .../gfortran.dg/actual_array_result_1.f90          |    1 -
 gcc/testsuite/gfortran.dg/actual_array_vect_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/actual_procedure_1.f90   |    1 -
 .../gfortran.dg/aliasing_array_result_1.f90        |    1 -
 gcc/testsuite/gfortran.dg/aliasing_dummy_5.f90     |    2 --
 gcc/testsuite/gfortran.dg/alloc_alloc_expr_3.f90   |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_assign_12.f03 |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_assign_6.f90  |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_assign_7.f90  |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_assign_8.f90  |    2 --
 .../gfortran.dg/alloc_comp_auto_array_2.f90        |    1 -
 gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90  |    1 -
 gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90  |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_basics_5.f90  |    2 --
 gcc/testsuite/gfortran.dg/alloc_comp_class_1.f90   |    1 -
 .../gfortran.dg/alloc_comp_constraint_6.f90        |    1 -
 .../gfortran.dg/alloc_comp_initializer_1.f90       |    1 -
 gcc/testsuite/gfortran.dg/alloc_comp_result_1.f90  |    1 -
 .../gfortran.dg/allocatable_function_1.f90         |    1 -
 .../gfortran.dg/allocatable_function_5.f90         |    2 --
 gcc/testsuite/gfortran.dg/allocatable_module_1.f90 |    1 -
 gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 |    2 --
 .../gfortran.dg/allocate_char_star_scalar_1.f90    |    2 --
 gcc/testsuite/gfortran.dg/allocate_stat.f90        |    1 -
 .../gfortran.dg/allocate_with_source_1.f90         |    1 -
 gcc/testsuite/gfortran.dg/altreturn_3.f90          |    1 -
 gcc/testsuite/gfortran.dg/altreturn_7.f90          |    3 ---
 .../gfortran.dg/ambiguous_reference_1.f90          |    1 -
 .../gfortran.dg/ambiguous_reference_2.f90          |    3 ---
 gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 |    1 -
 gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90 |    1 -
 gcc/testsuite/gfortran.dg/argument_checking_17.f90 |    2 --
 gcc/testsuite/gfortran.dg/argument_checking_8.f90  |    1 -
 gcc/testsuite/gfortran.dg/array_constructor_20.f90 |    2 --
 gcc/testsuite/gfortran.dg/array_constructor_21.f90 |    1 -
 gcc/testsuite/gfortran.dg/array_constructor_22.f90 |    1 -
 gcc/testsuite/gfortran.dg/array_constructor_26.f03 |    2 --
 gcc/testsuite/gfortran.dg/array_function_3.f90     |    2 --
 gcc/testsuite/gfortran.dg/array_function_4.f90     |    2 --
 gcc/testsuite/gfortran.dg/array_memset_2.f90       |    1 -
 gcc/testsuite/gfortran.dg/array_temporaries_3.f90  |    2 --
 gcc/testsuite/gfortran.dg/assignment_2.f90         |    2 --
 gcc/testsuite/gfortran.dg/assignment_3.f90         |    2 --
 gcc/testsuite/gfortran.dg/associate_6.f03          |    1 -
 gcc/testsuite/gfortran.dg/associate_9.f03          |    1 -
 gcc/testsuite/gfortran.dg/associated_target_3.f90  |    2 --
 .../gfortran.dg/assumed_charlen_function_1.f90     |    1 -
 .../gfortran.dg/assumed_charlen_function_6.f90     |    2 --
 gcc/testsuite/gfortran.dg/assumed_dummy_1.f90      |    2 --
 .../gfortran.dg/assumed_shape_ranks_1.f90          |    2 --
 .../gfortran.dg/assumed_shape_ranks_2.f90          |    2 --
 .../gfortran.dg/assumed_size_dt_dummy.f90          |    2 --
 gcc/testsuite/gfortran.dg/assumed_type_1.f90       |    2 --
 gcc/testsuite/gfortran.dg/assumed_type_2.f90       |    2 --
 .../gfortran.dg/auto_char_dummy_array_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/auto_char_len_3.f90      |    2 --
 gcc/testsuite/gfortran.dg/auto_dealloc_1.f90       |    2 --
 .../gfortran.dg/automatic_default_init_1.f90       |    1 -
 .../gfortran.dg/automatic_module_variable.f90      |    2 --
 .../gfortran.dg/bad_automatic_objects_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/bind_c_coms.f90          |    2 --
 gcc/testsuite/gfortran.dg/bind_c_dts.f90           |    2 --
 gcc/testsuite/gfortran.dg/bind_c_dts_2.f03         |    2 --
 gcc/testsuite/gfortran.dg/bind_c_dts_3.f03         |    2 --
 gcc/testsuite/gfortran.dg/bind_c_dts_4.f03         |    2 --
 gcc/testsuite/gfortran.dg/bind_c_dts_5.f90         |    2 --
 gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03 |    2 --
 gcc/testsuite/gfortran.dg/bind_c_module.f90        |    1 -
 gcc/testsuite/gfortran.dg/bind_c_procs.f03         |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_10.f03      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_15.f90      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_16.f03      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_17.f90      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_21.f90      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_24.f90      |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_25.f90      |    5 -----
 gcc/testsuite/gfortran.dg/bind_c_usage_3.f03       |    1 -
 gcc/testsuite/gfortran.dg/bind_c_usage_7.f03       |    2 --
 gcc/testsuite/gfortran.dg/bind_c_usage_8.f03       |    2 --
 gcc/testsuite/gfortran.dg/bind_c_vars.f90          |    2 --
 gcc/testsuite/gfortran.dg/binding_label_tests.f03  |    2 --
 .../gfortran.dg/binding_label_tests_10_main.f03    |    1 -
 .../gfortran.dg/binding_label_tests_12.f03         |    2 --
 .../gfortran.dg/binding_label_tests_16.f03         |    1 -
 .../gfortran.dg/binding_label_tests_2.f03          |    2 --
 .../gfortran.dg/binding_label_tests_7.f03          |    2 --
 .../gfortran.dg/binding_label_tests_9.f03          |    2 --
 .../gfortran.dg/bound_simplification_2.f90         |    1 -
 gcc/testsuite/gfortran.dg/bounds_check_9.f90       |    1 -
 gcc/testsuite/gfortran.dg/bounds_check_fail_2.f90  |    1 -
 .../gfortran.dg/bounds_check_strlen_2.f90          |    1 -
 .../gfortran.dg/bounds_check_strlen_3.f90          |    1 -
 .../gfortran.dg/bounds_check_strlen_4.f90          |    1 -
 .../gfortran.dg/bounds_check_strlen_5.f90          |    1 -
 .../gfortran.dg/bounds_check_strlen_6.f90          |    2 --
 .../gfortran.dg/bounds_check_strlen_7.f90          |    1 -
 .../gfortran.dg/bounds_check_strlen_8.f90          |    2 --
 gcc/testsuite/gfortran.dg/c_assoc.f90              |    2 --
 gcc/testsuite/gfortran.dg/c_by_val_5.f90           |    2 --
 gcc/testsuite/gfortran.dg/c_char_tests.f03         |    2 --
 gcc/testsuite/gfortran.dg/c_f_pointer_complex.f03  |    2 --
 gcc/testsuite/gfortran.dg/c_f_pointer_logical.f03  |    1 -
 .../gfortran.dg/c_f_pointer_shape_tests_2.f03      |    2 --
 .../gfortran.dg/c_f_pointer_shape_tests_4.f03      |    2 --
 gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90    |    2 --
 gcc/testsuite/gfortran.dg/c_funloc_tests.f03       |    2 --
 gcc/testsuite/gfortran.dg/c_funloc_tests_3.f03     |    1 -
 gcc/testsuite/gfortran.dg/c_funloc_tests_4.f03     |    2 --
 gcc/testsuite/gfortran.dg/c_kind_params.f90        |    1 -
 gcc/testsuite/gfortran.dg/c_kind_tests_2.f03       |    1 -
 gcc/testsuite/gfortran.dg/c_loc_test.f90           |    1 -
 gcc/testsuite/gfortran.dg/c_loc_tests_12.f03       |    1 -
 gcc/testsuite/gfortran.dg/c_loc_tests_2.f03        |    1 -
 gcc/testsuite/gfortran.dg/c_loc_tests_5.f03        |    1 -
 gcc/testsuite/gfortran.dg/c_loc_tests_6.f03        |    1 -
 gcc/testsuite/gfortran.dg/c_loc_tests_7.f03        |    1 -
 gcc/testsuite/gfortran.dg/c_ptr_tests.f03          |    2 --
 gcc/testsuite/gfortran.dg/c_ptr_tests_10.f03       |    2 --
 gcc/testsuite/gfortran.dg/c_ptr_tests_11.f03       |    2 --
 gcc/testsuite/gfortran.dg/c_ptr_tests_12.f03       |    3 ---
 gcc/testsuite/gfortran.dg/c_ptr_tests_14.f90       |    1 -
 gcc/testsuite/gfortran.dg/c_ptr_tests_15.f90       |    1 -
 gcc/testsuite/gfortran.dg/c_ptr_tests_17.f90       |    2 --
 gcc/testsuite/gfortran.dg/c_ptr_tests_18.f90       |    2 --
 gcc/testsuite/gfortran.dg/c_ptr_tests_7.f03        |    1 -
 gcc/testsuite/gfortran.dg/c_ptr_tests_9.f03        |    2 --
 gcc/testsuite/gfortran.dg/c_size_t_test.f03        |    2 --
 .../gfortran.dg/char_array_constructor.f90         |    2 --
 .../gfortran.dg/char_array_constructor_2.f90       |    1 -
 .../char_array_structure_constructor.f90           |    2 --
 gcc/testsuite/gfortran.dg/char_length_13.f90       |    2 --
 gcc/testsuite/gfortran.dg/char_length_5.f90        |    1 -
 gcc/testsuite/gfortran.dg/char_length_7.f90        |    1 -
 gcc/testsuite/gfortran.dg/char_length_9.f90        |    2 --
 gcc/testsuite/gfortran.dg/char_result_11.f90       |    2 --
 gcc/testsuite/gfortran.dg/char_result_13.f90       |    2 --
 gcc/testsuite/gfortran.dg/char_result_9.f90        |    2 --
 gcc/testsuite/gfortran.dg/character_assign_1.f90   |    1 -
 gcc/testsuite/gfortran.dg/class_10.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_12.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_13.f03             |    1 -
 gcc/testsuite/gfortran.dg/class_14.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_15.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_16.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_17.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_19.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_21.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_22.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_25.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_26.f03             |    1 -
 gcc/testsuite/gfortran.dg/class_27.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_28.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_29.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_32.f90             |    2 --
 gcc/testsuite/gfortran.dg/class_33.f90             |    2 --
 gcc/testsuite/gfortran.dg/class_34.f90             |    2 --
 gcc/testsuite/gfortran.dg/class_35.f90             |    2 --
 gcc/testsuite/gfortran.dg/class_37.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_40.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_41.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_42.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_45b.f03            |    2 --
 gcc/testsuite/gfortran.dg/class_46.f03             |    2 --
 gcc/testsuite/gfortran.dg/class_47.f90             |    2 --
 gcc/testsuite/gfortran.dg/class_9.f03              |    1 -
 gcc/testsuite/gfortran.dg/class_allocate_10.f03    |    2 --
 gcc/testsuite/gfortran.dg/class_allocate_11.f03    |    2 --
 gcc/testsuite/gfortran.dg/class_allocate_12.f90    |    2 --
 gcc/testsuite/gfortran.dg/class_allocate_7.f03     |    2 --
 gcc/testsuite/gfortran.dg/class_allocate_8.f03     |    2 --
 gcc/testsuite/gfortran.dg/class_allocate_9.f03     |    2 --
 gcc/testsuite/gfortran.dg/class_array_12.f03       |    2 --
 gcc/testsuite/gfortran.dg/class_array_3.f03        |    2 --
 gcc/testsuite/gfortran.dg/class_array_4.f03        |    1 -
 gcc/testsuite/gfortran.dg/class_array_5.f03        |    1 -
 gcc/testsuite/gfortran.dg/class_array_6.f03        |    1 -
 gcc/testsuite/gfortran.dg/class_array_7.f03        |    2 --
 gcc/testsuite/gfortran.dg/class_array_9.f03        |    2 --
 .../gfortran.dg/class_defined_operator_1.f03       |    2 --
 gcc/testsuite/gfortran.dg/class_dummy_2.f03        |    2 --
 gcc/testsuite/gfortran.dg/class_result_1.f03       |    2 --
 gcc/testsuite/gfortran.dg/class_to_type_2.f90      |    2 --
 .../gfortran.dg/coarray/registering_1.f90          |    2 --
 gcc/testsuite/gfortran.dg/coarray_14.f90           |    2 --
 gcc/testsuite/gfortran.dg/coarray_19.f90           |    2 --
 gcc/testsuite/gfortran.dg/coarray_21.f90           |    3 ---
 gcc/testsuite/gfortran.dg/coarray_6.f90            |    2 --
 gcc/testsuite/gfortran.dg/coarray_8.f90            |    2 --
 gcc/testsuite/gfortran.dg/coarray_args_2.f90       |    2 --
 gcc/testsuite/gfortran.dg/coarray_lib_token_2.f90  |    1 -
 gcc/testsuite/gfortran.dg/coarray_lock_3.f90       |    2 --
 gcc/testsuite/gfortran.dg/coarray_lock_5.f90       |    2 --
 gcc/testsuite/gfortran.dg/com_block_driver.f90     |    2 --
 gcc/testsuite/gfortran.dg/common_12.f90            |    2 --
 gcc/testsuite/gfortran.dg/common_14.f90            |    2 --
 gcc/testsuite/gfortran.dg/common_17.f90            |    1 -
 gcc/testsuite/gfortran.dg/complex_intrinsic_5.f90  |    2 --
 gcc/testsuite/gfortran.dg/constructor_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/constructor_3.f90        |    2 --
 gcc/testsuite/gfortran.dg/constructor_5.f90        |    2 --
 gcc/testsuite/gfortran.dg/constructor_6.f90        |    2 --
 gcc/testsuite/gfortran.dg/contained_1.f90          |    2 --
 gcc/testsuite/gfortran.dg/contained_3.f90          |    2 --
 .../gfortran.dg/contained_module_proc_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/contains_empty_2.f03     |    2 --
 gcc/testsuite/gfortran.dg/convert_1.f90            |    2 --
 gcc/testsuite/gfortran.dg/cray_pointers_5.f90      |    2 --
 gcc/testsuite/gfortran.dg/cray_pointers_9.f90      |    1 -
 gcc/testsuite/gfortran.dg/data_constraints_1.f90   |    2 --
 .../gfortran.dg/data_namelist_conflict.f90         |    1 -
 gcc/testsuite/gfortran.dg/default_format_1.f90     |    1 -
 gcc/testsuite/gfortran.dg/default_format_2.f90     |    1 -
 .../gfortran.dg/default_format_denormal_1.f90      |    1 -
 .../gfortran.dg/default_format_denormal_2.f90      |    1 -
 .../gfortran.dg/default_initialization_1.f90       |    2 --
 .../gfortran.dg/default_initialization_2.f90       |    2 --
 .../gfortran.dg/default_initialization_3.f90       |    1 -
 .../gfortran.dg/default_initialization_4.f90       |    1 -
 .../gfortran.dg/default_initialization_5.f90       |    1 -
 gcc/testsuite/gfortran.dg/defined_operators_1.f90  |    1 -
 gcc/testsuite/gfortran.dg/dependency_19.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_23.f90        |    3 ---
 gcc/testsuite/gfortran.dg/dependency_24.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_25.f90        |    2 --
 gcc/testsuite/gfortran.dg/dependency_26.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_28.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_34.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_35.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_36.f90        |    2 --
 gcc/testsuite/gfortran.dg/dependency_37.f90        |    1 -
 gcc/testsuite/gfortran.dg/dependency_39.f90        |    1 -
 gcc/testsuite/gfortran.dg/der_charlen_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/der_io_2.f90             |    2 --
 gcc/testsuite/gfortran.dg/der_io_3.f90             |    2 --
 gcc/testsuite/gfortran.dg/der_pointer_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/der_pointer_3.f90        |    2 --
 gcc/testsuite/gfortran.dg/der_pointer_4.f90        |    2 --
 .../gfortran.dg/derived_array_intrinisics_1.f90    |    1 -
 .../gfortran.dg/derived_comp_array_ref_1.f90       |    2 --
 .../gfortran.dg/derived_comp_array_ref_2.f90       |    1 -
 .../gfortran.dg/derived_comp_array_ref_3.f90       |    1 -
 .../gfortran.dg/derived_comp_array_ref_4.f90       |    1 -
 .../gfortran.dg/derived_comp_array_ref_6.f90       |    2 --
 .../gfortran.dg/derived_constructor_comps_1.f90    |    1 -
 .../gfortran.dg/derived_constructor_comps_3.f90    |    1 -
 .../gfortran.dg/derived_function_interface_1.f90   |    1 -
 gcc/testsuite/gfortran.dg/derived_init_2.f90       |    1 -
 .../gfortran.dg/derived_pointer_recursion.f90      |    2 --
 .../gfortran.dg/derived_pointer_recursion_2.f90    |    3 ---
 gcc/testsuite/gfortran.dg/derived_recursion.f90    |    2 --
 gcc/testsuite/gfortran.dg/derived_sub.f90          |    1 -
 gcc/testsuite/gfortran.dg/dummy_functions_1.f90    |    2 --
 gcc/testsuite/gfortran.dg/dummy_procedure_1.f90    |    2 --
 gcc/testsuite/gfortran.dg/dummy_procedure_2.f90    |    1 -
 gcc/testsuite/gfortran.dg/dummy_procedure_3.f90    |    2 --
 gcc/testsuite/gfortran.dg/dummy_procedure_4.f90    |    2 --
 gcc/testsuite/gfortran.dg/dummy_procedure_6.f90    |    2 --
 gcc/testsuite/gfortran.dg/dummy_procedure_7.f90    |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_1.f03   |    1 -
 gcc/testsuite/gfortran.dg/dynamic_dispatch_10.f03  |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_11.f03  |    3 ---
 gcc/testsuite/gfortran.dg/dynamic_dispatch_2.f03   |    1 -
 gcc/testsuite/gfortran.dg/dynamic_dispatch_3.f03   |    1 -
 gcc/testsuite/gfortran.dg/dynamic_dispatch_4.f03   |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_5.f03   |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_6.f03   |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_7.f03   |    2 --
 gcc/testsuite/gfortran.dg/dynamic_dispatch_8.f03   |    3 ---
 gcc/testsuite/gfortran.dg/dynamic_dispatch_9.f03   |    3 ---
 .../gfortran.dg/elemental_args_check_2.f90         |    1 -
 .../gfortran.dg/elemental_dependency_2.f90         |    2 --
 .../gfortran.dg/elemental_initializer_1.f90        |    2 --
 .../elemental_non_intrinsic_dummy_1.f90            |    2 --
 gcc/testsuite/gfortran.dg/elemental_pointer_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/elemental_result_1.f90   |    1 -
 .../gfortran.dg/elemental_scalar_args_1.f90        |    1 -
 .../gfortran.dg/elemental_subroutine_1.f90         |    2 --
 .../gfortran.dg/elemental_subroutine_2.f90         |    2 --
 .../gfortran.dg/elemental_subroutine_3.f90         |    3 ---
 .../gfortran.dg/elemental_subroutine_4.f90         |    2 --
 .../gfortran.dg/elemental_subroutine_6.f90         |    1 -
 gcc/testsuite/gfortran.dg/empty_derived_type.f90   |    2 --
 gcc/testsuite/gfortran.dg/entry_1.f90              |    2 --
 gcc/testsuite/gfortran.dg/entry_10.f90             |    1 -
 gcc/testsuite/gfortran.dg/entry_12.f90             |    1 -
 gcc/testsuite/gfortran.dg/entry_13.f90             |    2 --
 gcc/testsuite/gfortran.dg/entry_14.f90             |    2 --
 gcc/testsuite/gfortran.dg/entry_16.f90             |    1 -
 gcc/testsuite/gfortran.dg/entry_18.f90             |    1 -
 gcc/testsuite/gfortran.dg/entry_3.f90              |    2 --
 gcc/testsuite/gfortran.dg/entry_6.f90              |    2 --
 gcc/testsuite/gfortran.dg/entry_7.f90              |    3 ---
 gcc/testsuite/gfortran.dg/entry_9.f90              |    2 --
 gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90    |    2 --
 gcc/testsuite/gfortran.dg/enum_10.f90              |    2 --
 gcc/testsuite/gfortran.dg/equiv_constraint_3.f90   |    2 --
 gcc/testsuite/gfortran.dg/equiv_constraint_7.f90   |    1 -
 gcc/testsuite/gfortran.dg/error_recovery_3.f90     |    2 --
 gcc/testsuite/gfortran.dg/extends_1.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_10.f03           |    2 --
 gcc/testsuite/gfortran.dg/extends_12.f03           |    2 --
 gcc/testsuite/gfortran.dg/extends_13.f03           |    2 --
 gcc/testsuite/gfortran.dg/extends_2.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_3.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_4.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_5.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_6.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_7.f03            |    2 --
 gcc/testsuite/gfortran.dg/extends_8.f03            |    1 -
 gcc/testsuite/gfortran.dg/extends_9.f03            |    1 -
 .../gfortran.dg/external_procedures_2.f90          |    1 -
 gcc/testsuite/gfortran.dg/finalize_1.f08           |    2 --
 gcc/testsuite/gfortran.dg/finalize_2.f03           |    2 --
 gcc/testsuite/gfortran.dg/finalize_3.f03           |    2 --
 gcc/testsuite/gfortran.dg/finalize_4.f03           |    2 --
 gcc/testsuite/gfortran.dg/finalize_5.f03           |    2 --
 gcc/testsuite/gfortran.dg/finalize_6.f90           |    2 --
 gcc/testsuite/gfortran.dg/finalize_7.f03           |    2 --
 gcc/testsuite/gfortran.dg/finalize_8.f03           |    2 --
 gcc/testsuite/gfortran.dg/forall_4.f90             |    1 -
 gcc/testsuite/gfortran.dg/forall_5.f90             |    1 -
 gcc/testsuite/gfortran.dg/func_assign.f90          |    2 --
 gcc/testsuite/gfortran.dg/func_assign_3.f90        |    1 -
 gcc/testsuite/gfortran.dg/func_derived_1.f90       |    2 --
 gcc/testsuite/gfortran.dg/func_derived_2.f90       |    2 --
 gcc/testsuite/gfortran.dg/func_derived_3.f90       |    2 --
 gcc/testsuite/gfortran.dg/func_derived_4.f90       |    2 --
 gcc/testsuite/gfortran.dg/func_derived_5.f90       |    2 --
 gcc/testsuite/gfortran.dg/func_result_6.f90        |    2 --
 gcc/testsuite/gfortran.dg/function_charlen_1.f90   |    1 -
 gcc/testsuite/gfortran.dg/function_charlen_2.f90   |    1 -
 gcc/testsuite/gfortran.dg/function_kinds_1.f90     |    1 -
 gcc/testsuite/gfortran.dg/function_kinds_2.f90     |    2 --
 gcc/testsuite/gfortran.dg/function_kinds_3.f90     |    2 --
 gcc/testsuite/gfortran.dg/function_kinds_4.f90     |    1 -
 gcc/testsuite/gfortran.dg/function_optimize_8.f90  |    1 -
 gcc/testsuite/gfortran.dg/function_types_1.f90     |    1 -
 gcc/testsuite/gfortran.dg/function_types_2.f90     |    1 -
 gcc/testsuite/gfortran.dg/generic_1.f90            |    2 --
 gcc/testsuite/gfortran.dg/generic_10.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_11.f90           |    3 ---
 gcc/testsuite/gfortran.dg/generic_12.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_13.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_14.f90           |    2 --
 gcc/testsuite/gfortran.dg/generic_15.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_16.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_17.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_18.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_19.f90           |    1 -
 gcc/testsuite/gfortran.dg/generic_2.f90            |    2 --
 gcc/testsuite/gfortran.dg/generic_20.f90           |    2 --
 gcc/testsuite/gfortran.dg/generic_21.f90           |    2 --
 gcc/testsuite/gfortran.dg/generic_22.f03           |    1 -
 gcc/testsuite/gfortran.dg/generic_23.f03           |    2 --
 gcc/testsuite/gfortran.dg/generic_24.f90           |    2 --
 gcc/testsuite/gfortran.dg/generic_3.f90            |    2 --
 gcc/testsuite/gfortran.dg/generic_4.f90            |    2 --
 gcc/testsuite/gfortran.dg/generic_5.f90            |    1 -
 gcc/testsuite/gfortran.dg/generic_6.f90            |    1 -
 gcc/testsuite/gfortran.dg/generic_7.f90            |    2 --
 gcc/testsuite/gfortran.dg/generic_8.f90            |    1 -
 gcc/testsuite/gfortran.dg/generic_9.f90            |    1 -
 gcc/testsuite/gfortran.dg/generic_actual_arg.f90   |    1 -
 .../gfortran.dg/generic_typebound_operator_1.f90   |    2 --
 gcc/testsuite/gfortran.dg/global_references_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/global_vars_c_init.f90   |    2 --
 gcc/testsuite/gfortran.dg/global_vars_f90_init.f90 |    2 --
 .../gfortran.dg/gomp/allocatable_components_1.f90  |    2 --
 .../gfortran.dg/gomp/appendix-a/a.22.4.f90         |    1 -
 .../gfortran.dg/gomp/appendix-a/a.26.2.f90         |    1 -
 .../gfortran.dg/gomp/appendix-a/a.32.1.f90         |    1 -
 .../gfortran.dg/gomp/omp_threadprivate1.f90        |    1 -
 gcc/testsuite/gfortran.dg/gomp/pr35786-1.f90       |    2 --
 gcc/testsuite/gfortran.dg/gomp/reduction3.f90      |    1 -
 gcc/testsuite/gfortran.dg/graphite/id-18.f90       |    1 -
 gcc/testsuite/gfortran.dg/graphite/id-2.f90        |    1 -
 gcc/testsuite/gfortran.dg/graphite/id-21.f         |    2 --
 gcc/testsuite/gfortran.dg/graphite/id-4.f90        |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr37980.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr38953.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr40982.f90     |    2 --
 gcc/testsuite/gfortran.dg/graphite/pr41924.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42050.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42180.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42181.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42185.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42186.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42393-1.f90   |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr42393.f90     |    1 -
 gcc/testsuite/gfortran.dg/graphite/pr45758.f90     |    1 -
 .../gfortran.dg/host_assoc_blockdata_1.f90         |    1 -
 .../gfortran.dg/host_assoc_blockdata_2.f90         |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_1.f90    |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_2.f90    |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_3.f90    |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_4.f90    |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_5.f90    |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_call_6.f90    |    1 -
 .../gfortran.dg/host_assoc_function_1.f90          |    1 -
 .../gfortran.dg/host_assoc_function_2.f90          |    1 -
 .../gfortran.dg/host_assoc_function_3.f90          |    1 -
 .../gfortran.dg/host_assoc_function_4.f90          |    1 -
 .../gfortran.dg/host_assoc_function_5.f90          |    1 -
 .../gfortran.dg/host_assoc_function_6.f90          |    2 --
 .../gfortran.dg/host_assoc_function_7.f90          |    2 --
 .../gfortran.dg/host_assoc_function_9.f90          |    2 --
 gcc/testsuite/gfortran.dg/host_assoc_types_1.f90   |    1 -
 gcc/testsuite/gfortran.dg/host_assoc_types_2.f90   |    1 -
 .../gfortran.dg/host_assoc_variable_1.f90          |    1 -
 gcc/testsuite/gfortran.dg/host_used_types_1.f90    |    2 --
 gcc/testsuite/gfortran.dg/implicit_1.f90           |    2 --
 gcc/testsuite/gfortran.dg/implicit_10.f90          |    1 -
 gcc/testsuite/gfortran.dg/implicit_11.f90          |    2 --
 gcc/testsuite/gfortran.dg/implicit_12.f90          |    2 --
 gcc/testsuite/gfortran.dg/implicit_2.f90           |    2 --
 gcc/testsuite/gfortran.dg/implicit_actual.f90      |    2 --
 .../gfortran.dg/implicit_derived_type_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/implicit_pure_1.f90      |    1 -
 gcc/testsuite/gfortran.dg/implicit_pure_2.f90      |    1 -
 gcc/testsuite/gfortran.dg/import.f90               |    1 -
 gcc/testsuite/gfortran.dg/import2.f90              |    1 -
 gcc/testsuite/gfortran.dg/import4.f90              |    1 -
 gcc/testsuite/gfortran.dg/import5.f90              |    1 -
 gcc/testsuite/gfortran.dg/import7.f90              |    3 ---
 gcc/testsuite/gfortran.dg/impure_1.f08             |    2 --
 gcc/testsuite/gfortran.dg/impure_2.f08             |    2 --
 gcc/testsuite/gfortran.dg/impure_actual_1.f90      |    3 ---
 gcc/testsuite/gfortran.dg/impure_assignment_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/impure_assignment_2.f90  |    2 --
 gcc/testsuite/gfortran.dg/impure_constructor_1.f90 |    2 --
 gcc/testsuite/gfortran.dg/impure_spec_expr_1.f90   |    2 --
 gcc/testsuite/gfortran.dg/initialization_1.f90     |    2 --
 gcc/testsuite/gfortran.dg/initialization_10.f90    |    2 --
 gcc/testsuite/gfortran.dg/initialization_12.f90    |    2 --
 gcc/testsuite/gfortran.dg/initialization_19.f90    |    2 --
 gcc/testsuite/gfortran.dg/initialization_23.f90    |    3 ---
 gcc/testsuite/gfortran.dg/inquire_11.f90           |    1 -
 gcc/testsuite/gfortran.dg/int_1.f90                |    2 --
 gcc/testsuite/gfortran.dg/int_2.f90                |    1 -
 .../gfortran.dg/integer_exponentiation_3.F90       |    2 --
 .../gfortran.dg/integer_exponentiation_5.F90       |    2 --
 gcc/testsuite/gfortran.dg/intent_out_2.f90         |    2 --
 gcc/testsuite/gfortran.dg/intent_out_3.f90         |    1 -
 gcc/testsuite/gfortran.dg/intent_out_6.f90         |    2 --
 gcc/testsuite/gfortran.dg/intent_used_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/interface_1.f90          |    2 --
 gcc/testsuite/gfortran.dg/interface_10.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_11.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_12.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_13.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_14.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_15.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_16.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_17.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_18.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_19.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_2.f90          |    2 --
 gcc/testsuite/gfortran.dg/interface_20.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_21.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_22.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_23.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_24.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_25.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_26.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_27.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_28.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_29.f90         |    3 ---
 gcc/testsuite/gfortran.dg/interface_3.f90          |    2 --
 gcc/testsuite/gfortran.dg/interface_31.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_32.f90         |    1 -
 gcc/testsuite/gfortran.dg/interface_33.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_35.f90         |    2 --
 gcc/testsuite/gfortran.dg/interface_4.f90          |    1 -
 gcc/testsuite/gfortran.dg/interface_5.f90          |    1 -
 gcc/testsuite/gfortran.dg/interface_7.f90          |    2 --
 gcc/testsuite/gfortran.dg/interface_8.f90          |    2 --
 gcc/testsuite/gfortran.dg/interface_9.f90          |    3 ---
 .../gfortran.dg/interface_assignment_1.f90         |    1 -
 .../gfortran.dg/interface_assignment_2.f90         |    1 -
 .../gfortran.dg/interface_assignment_3.f90         |    2 --
 .../gfortran.dg/interface_assignment_5.f90         |    1 -
 .../gfortran.dg/interface_derived_type_1.f90       |    2 --
 gcc/testsuite/gfortran.dg/interface_proc_end.f90   |    2 --
 gcc/testsuite/gfortran.dg/internal_dummy_2.f08     |    2 --
 gcc/testsuite/gfortran.dg/internal_dummy_3.f08     |    2 --
 gcc/testsuite/gfortran.dg/internal_dummy_4.f08     |    1 -
 gcc/testsuite/gfortran.dg/internal_pack_10.f90     |    1 -
 gcc/testsuite/gfortran.dg/internal_pack_12.f90     |    2 --
 gcc/testsuite/gfortran.dg/internal_pack_4.f90      |    1 -
 gcc/testsuite/gfortran.dg/internal_pack_6.f90      |    1 -
 gcc/testsuite/gfortran.dg/internal_pack_7.f90      |    1 -
 gcc/testsuite/gfortran.dg/internal_pack_8.f90      |    1 -
 .../gfortran.dg/internal_references_1.f90          |    1 -
 .../gfortran.dg/internal_references_2.f90          |    2 --
 gcc/testsuite/gfortran.dg/intrinsic_1.f90          |    3 ---
 gcc/testsuite/gfortran.dg/intrinsic_3.f90          |    3 ---
 gcc/testsuite/gfortran.dg/intrinsic_shadow_1.f03   |    2 --
 gcc/testsuite/gfortran.dg/intrinsic_shadow_2.f03   |    2 --
 gcc/testsuite/gfortran.dg/intrinsic_shadow_3.f03   |    2 --
 gcc/testsuite/gfortran.dg/io_constraints_1.f90     |    2 --
 gcc/testsuite/gfortran.dg/io_constraints_2.f90     |    2 --
 gcc/testsuite/gfortran.dg/io_constraints_6.f03     |    2 --
 gcc/testsuite/gfortran.dg/io_constraints_7.f03     |    2 --
 .../gfortran.dg/iso_c_binding_compiler_3.f90       |    2 --
 .../gfortran.dg/iso_c_binding_compiler_4.f90       |    2 --
 gcc/testsuite/gfortran.dg/iso_c_binding_only.f03   |    2 --
 .../gfortran.dg/iso_c_binding_rename_1.f03         |    2 --
 .../gfortran.dg/iso_c_binding_rename_2.f03         |    2 --
 gcc/testsuite/gfortran.dg/iso_fortran_env_1.f90    |    1 -
 gcc/testsuite/gfortran.dg/iso_fortran_env_2.f90    |    2 --
 gcc/testsuite/gfortran.dg/iso_fortran_env_4.f90    |    1 -
 gcc/testsuite/gfortran.dg/kind_tests_2.f03         |    2 --
 gcc/testsuite/gfortran.dg/kind_tests_3.f03         |    2 --
 gcc/testsuite/gfortran.dg/large_integer_kind_1.f90 |    2 --
 gcc/testsuite/gfortran.dg/large_real_kind_1.f90    |    2 --
 gcc/testsuite/gfortran.dg/ldist-pr43023.f90        |    2 --
 gcc/testsuite/gfortran.dg/lto/20100222-1_0.f03     |    1 -
 gcc/testsuite/gfortran.dg/lto/pr40725_0.f03        |    2 --
 gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90      |    2 --
 gcc/testsuite/gfortran.dg/lto/pr45586_0.f90        |    2 --
 gcc/testsuite/gfortran.dg/lto/pr47839_0.f90        |    2 --
 gcc/testsuite/gfortran.dg/mapping_1.f90            |    1 -
 gcc/testsuite/gfortran.dg/mapping_2.f90            |    1 -
 gcc/testsuite/gfortran.dg/maxloc_bounds_4.f90      |    2 --
 gcc/testsuite/gfortran.dg/maxloc_bounds_5.f90      |    1 -
 gcc/testsuite/gfortran.dg/maxloc_bounds_7.f90      |    1 -
 .../gfortran.dg/missing_derived_type_1.f90         |    1 -
 .../gfortran.dg/missing_optional_dummy_2.f90       |    2 --
 .../gfortran.dg/missing_optional_dummy_4.f90       |    2 --
 .../gfortran.dg/missing_optional_dummy_5.f90       |    2 --
 gcc/testsuite/gfortran.dg/module_blank_common.f90  |    2 --
 gcc/testsuite/gfortran.dg/module_commons_1.f90     |    2 --
 gcc/testsuite/gfortran.dg/module_commons_2.f90     |    2 --
 gcc/testsuite/gfortran.dg/module_commons_3.f90     |    1 -
 gcc/testsuite/gfortran.dg/module_double_reuse.f90  |    2 --
 gcc/testsuite/gfortran.dg/module_equivalence_1.f90 |    2 --
 gcc/testsuite/gfortran.dg/module_equivalence_2.f90 |    1 -
 gcc/testsuite/gfortran.dg/module_equivalence_3.f90 |    2 --
 gcc/testsuite/gfortran.dg/module_equivalence_4.f90 |    2 --
 gcc/testsuite/gfortran.dg/module_equivalence_5.f90 |    3 ---
 gcc/testsuite/gfortran.dg/module_equivalence_6.f90 |    1 -
 .../gfortran.dg/module_function_type_1.f90         |    3 ---
 .../gfortran.dg/module_implicit_conversion.f90     |    2 --
 gcc/testsuite/gfortran.dg/module_interface_1.f90   |    2 --
 gcc/testsuite/gfortran.dg/module_interface_2.f90   |    1 -
 gcc/testsuite/gfortran.dg/module_md5_1.f90         |    1 -
 gcc/testsuite/gfortran.dg/module_naming_1.f90      |    1 -
 gcc/testsuite/gfortran.dg/module_nan.f90           |    2 --
 .../gfortran.dg/module_parameter_array_refs_1.f90  |    2 --
 .../gfortran.dg/module_parameter_array_refs_2.f90  |    2 --
 gcc/testsuite/gfortran.dg/module_private_1.f90     |    2 --
 .../gfortran.dg/module_private_array_refs_1.f90    |    2 --
 .../gfortran.dg/module_proc_external_dummy.f90     |    1 -
 gcc/testsuite/gfortran.dg/module_procedure_1.f90   |    1 -
 .../module_procedure_double_colon_1.f90            |    1 -
 .../module_procedure_double_colon_2.f90            |    1 -
 gcc/testsuite/gfortran.dg/module_read_1.f90        |    1 -
 gcc/testsuite/gfortran.dg/module_read_2.f90        |    2 --
 gcc/testsuite/gfortran.dg/module_widestring_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/module_write_1.f90       |    1 -
 gcc/testsuite/gfortran.dg/move_alloc_10.f90        |    2 --
 gcc/testsuite/gfortran.dg/move_alloc_8.f90         |    2 --
 gcc/testsuite/gfortran.dg/move_alloc_9.f90         |    2 --
 gcc/testsuite/gfortran.dg/mvbits_6.f90             |    1 -
 gcc/testsuite/gfortran.dg/named_interface.f90      |    2 --
 gcc/testsuite/gfortran.dg/namelist_1.f90           |    2 --
 gcc/testsuite/gfortran.dg/namelist_14.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_15.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_33.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_34.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_36.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_4.f90           |    1 -
 gcc/testsuite/gfortran.dg/namelist_40.f90          |    1 -
 gcc/testsuite/gfortran.dg/namelist_47.f90          |    1 -
 gcc/testsuite/gfortran.dg/namelist_52.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_62.f90          |    2 --
 gcc/testsuite/gfortran.dg/namelist_use.f90         |    2 --
 gcc/testsuite/gfortran.dg/namelist_use_only.f90    |    2 --
 gcc/testsuite/gfortran.dg/nan_1.f90                |    2 --
 gcc/testsuite/gfortran.dg/nan_2.f90                |    1 -
 gcc/testsuite/gfortran.dg/nested_forall_1.f        |    1 -
 gcc/testsuite/gfortran.dg/nested_modules_1.f90     |    2 --
 gcc/testsuite/gfortran.dg/nested_modules_2.f90     |    2 --
 gcc/testsuite/gfortran.dg/nested_modules_3.f90     |    2 --
 gcc/testsuite/gfortran.dg/nested_modules_4.f90     |    2 --
 gcc/testsuite/gfortran.dg/nested_modules_5.f90     |    2 --
 gcc/testsuite/gfortran.dg/nested_modules_6.f90     |    1 -
 gcc/testsuite/gfortran.dg/operator_1.f90           |    1 -
 gcc/testsuite/gfortran.dg/operator_2.f90           |    1 -
 gcc/testsuite/gfortran.dg/operator_4.f90           |    2 --
 gcc/testsuite/gfortran.dg/operator_5.f90           |    2 --
 gcc/testsuite/gfortran.dg/operator_6.f90           |    1 -
 gcc/testsuite/gfortran.dg/operator_7.f90           |    2 --
 gcc/testsuite/gfortran.dg/operator_c1202.f90       |    2 --
 .../gfortran.dg/optional_assumed_charlen_1.f90     |    1 -
 gcc/testsuite/gfortran.dg/optional_dim_3.f90       |    1 -
 gcc/testsuite/gfortran.dg/overload_1.f90           |    1 -
 .../gfortran.dg/parameter_array_init_3.f90         |    1 -
 .../gfortran.dg/parameter_array_init_5.f90         |    1 -
 .../gfortran.dg/parameter_array_section_1.f90      |    1 -
 gcc/testsuite/gfortran.dg/parens_5.f90             |    2 --
 gcc/testsuite/gfortran.dg/parens_7.f90             |    2 --
 gcc/testsuite/gfortran.dg/parent_result_ref_4.f90  |    2 --
 gcc/testsuite/gfortran.dg/pointer_check_6.f90      |    3 ---
 gcc/testsuite/gfortran.dg/pointer_check_7.f90      |    2 --
 gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90  |    2 --
 gcc/testsuite/gfortran.dg/pointer_init_3.f90       |    2 --
 gcc/testsuite/gfortran.dg/pointer_init_4.f90       |    2 --
 gcc/testsuite/gfortran.dg/pointer_init_5.f90       |    2 --
 gcc/testsuite/gfortran.dg/pointer_init_6.f90       |    2 --
 gcc/testsuite/gfortran.dg/pr15164.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr16861.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr17615.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr19926.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr21177.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr25923.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr26246_1.f90            |    1 -
 gcc/testsuite/gfortran.dg/pr32222.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr32238.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr32242.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr32535.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr32601.f03              |    1 -
 gcc/testsuite/gfortran.dg/pr32738.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr32921.f                |    1 -
 gcc/testsuite/gfortran.dg/pr33646.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr33794.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr37286.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr37287-1.f90            |    2 --
 gcc/testsuite/gfortran.dg/pr37287-2.F90            |    1 -
 gcc/testsuite/gfortran.dg/pr41347.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr41928.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr42051.f03              |    2 --
 gcc/testsuite/gfortran.dg/pr42119.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr42166.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr43505.f90              |    3 ---
 gcc/testsuite/gfortran.dg/pr43793.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr43866.f90              |    2 --
 gcc/testsuite/gfortran.dg/pr43984.f90              |    1 -
 gcc/testsuite/gfortran.dg/pr50875.f90              |    2 --
 gcc/testsuite/gfortran.dg/present_1.f90            |    1 -
 gcc/testsuite/gfortran.dg/private_type_1.f90       |    2 --
 gcc/testsuite/gfortran.dg/private_type_10.f90      |    2 --
 gcc/testsuite/gfortran.dg/private_type_11.f90      |    1 -
 gcc/testsuite/gfortran.dg/private_type_12.f90      |    1 -
 gcc/testsuite/gfortran.dg/private_type_13.f90      |    1 -
 gcc/testsuite/gfortran.dg/private_type_14.f90      |    2 --
 gcc/testsuite/gfortran.dg/private_type_2.f90       |    2 --
 gcc/testsuite/gfortran.dg/private_type_3.f90       |    2 --
 gcc/testsuite/gfortran.dg/private_type_4.f90       |    2 --
 gcc/testsuite/gfortran.dg/private_type_5.f90       |    1 -
 gcc/testsuite/gfortran.dg/private_type_6.f90       |    1 -
 gcc/testsuite/gfortran.dg/private_type_7.f90       |    1 -
 gcc/testsuite/gfortran.dg/private_type_8.f90       |    2 --
 gcc/testsuite/gfortran.dg/private_type_9.f90       |    1 -
 gcc/testsuite/gfortran.dg/proc_assign_1.f90        |    1 -
 gcc/testsuite/gfortran.dg/proc_assign_2.f90        |    1 -
 gcc/testsuite/gfortran.dg/proc_decl_10.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_12.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_13.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_17.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_18.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_2.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_20.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_23.f90         |    1 -
 gcc/testsuite/gfortran.dg/proc_decl_27.f90         |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_5.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_decl_7.f90          |    1 -
 gcc/testsuite/gfortran.dg/proc_decl_8.f90          |    1 -
 gcc/testsuite/gfortran.dg/proc_ptr_1.f90           |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_10.f90          |    1 -
 gcc/testsuite/gfortran.dg/proc_ptr_13.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_20.f90          |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_22.f90          |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_26.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_27.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_28.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_29.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_33.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_34.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_36.f90          |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_8.f90           |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_comp_10.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_12.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_15.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_16.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_17.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_22.f90     |    1 -
 gcc/testsuite/gfortran.dg/proc_ptr_comp_23.f90     |    1 -
 gcc/testsuite/gfortran.dg/proc_ptr_comp_31.f90     |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_comp_32.f90     |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_comp_33.f90     |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_4.f90      |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_6.f90      |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_7.f90      |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_1.f90 |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_2.f90 |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_4.f90 |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_5.f90 |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_6.f90 |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_7.f90 |    2 --
 gcc/testsuite/gfortran.dg/proc_ptr_result_1.f90    |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_result_2.f90    |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_result_3.f90    |    3 ---
 gcc/testsuite/gfortran.dg/proc_ptr_result_6.f90    |    3 ---
 gcc/testsuite/gfortran.dg/procedure_lvalue.f90     |    2 --
 gcc/testsuite/gfortran.dg/protected_1.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_2.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_4.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_5.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_6.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_7.f90          |    2 --
 gcc/testsuite/gfortran.dg/protected_8.f90          |    2 --
 .../gfortran.dg/public_private_module.f90          |    1 -
 gcc/testsuite/gfortran.dg/pure_byref_3.f90         |    2 --
 gcc/testsuite/gfortran.dg/pure_formal_proc_2.f90   |    1 -
 gcc/testsuite/gfortran.dg/pure_initializer_2.f90   |    1 -
 gcc/testsuite/gfortran.dg/realloc_on_assign_13.f90 |    2 --
 gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03  |    3 ---
 gcc/testsuite/gfortran.dg/realloc_on_assign_6.f03  |    3 ---
 gcc/testsuite/gfortran.dg/realloc_on_assign_9.f90  |    2 --
 gcc/testsuite/gfortran.dg/recursive_check_12.f90   |    1 -
 gcc/testsuite/gfortran.dg/recursive_check_13.f90   |    1 -
 gcc/testsuite/gfortran.dg/recursive_check_3.f90    |    1 -
 gcc/testsuite/gfortran.dg/recursive_check_4.f03    |    2 --
 gcc/testsuite/gfortran.dg/recursive_check_5.f03    |    2 --
 gcc/testsuite/gfortran.dg/recursive_check_6.f03    |    2 --
 .../gfortran.dg/recursive_reference_2.f90          |    2 --
 .../gfortran.dg/redefined_intrinsic_assignment.f90 |    1 -
 .../redefined_intrinsic_assignment_2.f90           |    2 --
 gcc/testsuite/gfortran.dg/reshape_2.f90            |    1 -
 gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   |    1 -
 gcc/testsuite/gfortran.dg/result_in_spec_1.f90     |    1 -
 gcc/testsuite/gfortran.dg/result_in_spec_2.f90     |    1 -
 gcc/testsuite/gfortran.dg/result_in_spec_4.f90     |    2 --
 gcc/testsuite/gfortran.dg/same_name_1.f90          |    2 --
 gcc/testsuite/gfortran.dg/same_name_2.f90          |    1 -
 gcc/testsuite/gfortran.dg/save_3.f90               |    2 --
 gcc/testsuite/gfortran.dg/save_parameter.f90       |    2 --
 gcc/testsuite/gfortran.dg/select_type_10.f03       |    2 --
 gcc/testsuite/gfortran.dg/select_type_15.f03       |    3 ---
 gcc/testsuite/gfortran.dg/select_type_16.f03       |    3 ---
 gcc/testsuite/gfortran.dg/select_type_18.f03       |    2 --
 gcc/testsuite/gfortran.dg/select_type_4.f90        |    1 -
 gcc/testsuite/gfortran.dg/sequence_types_1.f90     |    1 -
 .../gfortran.dg/sibling_dummy_procedure_1.f90      |    2 --
 .../gfortran.dg/sibling_dummy_procedure_2.f90      |    2 --
 .../gfortran.dg/sibling_dummy_procedure_3.f90      |    2 --
 gcc/testsuite/gfortran.dg/simplify_argN_1.f90      |    1 -
 gcc/testsuite/gfortran.dg/spec_expr_4.f90          |    1 -
 gcc/testsuite/gfortran.dg/spec_expr_6.f90          |    2 --
 .../specification_type_resolution_1.f90            |    1 -
 .../specification_type_resolution_2.f90            |    2 --
 gcc/testsuite/gfortran.dg/stfunc_5.f90             |    3 ---
 gcc/testsuite/gfortran.dg/string_compare_2.f90     |    2 --
 .../gfortran.dg/structure_constructor_10.f90       |    3 ---
 .../gfortran.dg/structure_constructor_8.f03        |    1 -
 gcc/testsuite/gfortran.dg/substr_1.f90             |    2 --
 .../gfortran.dg/substring_equivalence.f90          |    2 --
 gcc/testsuite/gfortran.dg/test_com_block.f90       |    2 --
 .../gfortran.dg/test_common_binding_labels.f03     |    2 --
 gcc/testsuite/gfortran.dg/test_only_clause.f90     |    2 --
 .../gfortran.dg/transfer_assumed_size_1.f90        |    2 --
 gcc/testsuite/gfortran.dg/transfer_intrinsic_3.f90 |    1 -
 .../gfortran.dg/transpose_optimization_1.f90       |    1 -
 .../gfortran.dg/transpose_optimization_2.f90       |    1 -
 gcc/testsuite/gfortran.dg/trim_optimize_2.f90      |    1 -
 gcc/testsuite/gfortran.dg/trim_optimize_6.f90      |    2 --
 gcc/testsuite/gfortran.dg/type_decl_1.f90          |    2 --
 .../gfortran.dg/typebound_assignment_1.f03         |    2 --
 .../gfortran.dg/typebound_assignment_2.f03         |    2 --
 .../gfortran.dg/typebound_assignment_3.f03         |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_1.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_10.f03    |    3 ---
 gcc/testsuite/gfortran.dg/typebound_call_11.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_12.f03    |    1 -
 gcc/testsuite/gfortran.dg/typebound_call_13.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_14.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_15.f03    |    1 -
 gcc/testsuite/gfortran.dg/typebound_call_16.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_17.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_18.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_19.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_2.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_20.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_21.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_22.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_3.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_4.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_5.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_6.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_7.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_8.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_call_9.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_1.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_10.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_11.f90 |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_2.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_3.f03  |    1 -
 gcc/testsuite/gfortran.dg/typebound_generic_4.f03  |    1 -
 gcc/testsuite/gfortran.dg/typebound_generic_5.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_6.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_7.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_8.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_generic_9.f03  |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_1.f03 |    2 --
 .../gfortran.dg/typebound_operator_10.f03          |    1 -
 .../gfortran.dg/typebound_operator_11.f90          |    2 --
 .../gfortran.dg/typebound_operator_12.f03          |    2 --
 .../gfortran.dg/typebound_operator_13.f03          |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_2.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_3.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_4.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_5.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_6.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_7.f03 |    2 --
 gcc/testsuite/gfortran.dg/typebound_operator_8.f03 |    1 -
 gcc/testsuite/gfortran.dg/typebound_operator_9.f03 |    1 -
 gcc/testsuite/gfortran.dg/typebound_override_1.f90 |    2 --
 gcc/testsuite/gfortran.dg/typebound_override_2.f90 |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_1.f08     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_10.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_11.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_13.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_14.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_15.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_16.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_17.f03    |    3 ---
 gcc/testsuite/gfortran.dg/typebound_proc_18.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_19.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_2.f90     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_20.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_21.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_22.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_23.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_24.f03    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_25.f90    |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_3.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_4.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_5.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_6.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_7.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_8.f03     |    2 --
 gcc/testsuite/gfortran.dg/typebound_proc_9.f03     |    2 --
 .../gfortran.dg/unreferenced_use_assoc_1.f90       |    1 -
 .../gfortran.dg/unused_artificial_dummies_1.f90    |    1 -
 gcc/testsuite/gfortran.dg/use_1.f90                |    1 -
 gcc/testsuite/gfortran.dg/use_10.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_11.f90               |    1 -
 gcc/testsuite/gfortran.dg/use_12.f90               |    1 -
 gcc/testsuite/gfortran.dg/use_13.f90               |    1 -
 gcc/testsuite/gfortran.dg/use_14.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_15.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_16.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_17.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_18.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_19.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_20.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_21.f90               |    2 --
 gcc/testsuite/gfortran.dg/use_3.f90                |    1 -
 gcc/testsuite/gfortran.dg/use_4.f90                |    1 -
 gcc/testsuite/gfortran.dg/use_5.f90                |    2 --
 gcc/testsuite/gfortran.dg/use_6.f90                |    2 --
 gcc/testsuite/gfortran.dg/use_7.f90                |    2 --
 gcc/testsuite/gfortran.dg/use_9.f90                |    1 -
 gcc/testsuite/gfortran.dg/use_allocated_1.f90      |    2 --
 gcc/testsuite/gfortran.dg/use_iso_c_binding.f90    |    2 --
 gcc/testsuite/gfortran.dg/use_only_1.f90           |    1 -
 gcc/testsuite/gfortran.dg/use_only_2.f90           |    1 -
 gcc/testsuite/gfortran.dg/use_only_3.f90           |    4 ----
 gcc/testsuite/gfortran.dg/use_only_4.f90           |    1 -
 gcc/testsuite/gfortran.dg/use_only_5.f90           |    2 --
 gcc/testsuite/gfortran.dg/use_rename_1.f90         |    1 -
 gcc/testsuite/gfortran.dg/use_rename_2.f90         |    2 --
 gcc/testsuite/gfortran.dg/use_rename_3.f90         |    1 -
 gcc/testsuite/gfortran.dg/use_rename_4.f90         |    2 --
 gcc/testsuite/gfortran.dg/use_rename_5.f90         |    2 --
 gcc/testsuite/gfortran.dg/used_before_typed_3.f90  |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_1.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_2.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_3.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_4.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_5.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_6.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_dummy_types_7.f90   |    1 -
 gcc/testsuite/gfortran.dg/used_dummy_types_8.f90   |    1 -
 gcc/testsuite/gfortran.dg/used_interface_ref.f90   |    2 --
 gcc/testsuite/gfortran.dg/used_types_1.f90         |    2 --
 gcc/testsuite/gfortran.dg/used_types_10.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_11.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_12.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_13.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_14.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_15.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_16.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_17.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_19.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_2.f90         |    2 --
 gcc/testsuite/gfortran.dg/used_types_20.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_22.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_23.f90        |    1 -
 gcc/testsuite/gfortran.dg/used_types_24.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_25.f90        |    3 ---
 gcc/testsuite/gfortran.dg/used_types_26.f90        |    2 --
 gcc/testsuite/gfortran.dg/used_types_3.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_4.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_5.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_6.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_7.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_8.f90         |    1 -
 gcc/testsuite/gfortran.dg/used_types_9.f90         |    1 -
 gcc/testsuite/gfortran.dg/userdef_operator_1.f90   |    2 --
 gcc/testsuite/gfortran.dg/userdef_operator_2.f90   |    2 --
 gcc/testsuite/gfortran.dg/value_1.f90              |    1 -
 gcc/testsuite/gfortran.dg/value_4.f90              |    1 -
 gcc/testsuite/gfortran.dg/value_6.f03              |    1 -
 .../gfortran.dg/vect/fast-math-real8-pr40801.f90   |    1 -
 .../gfortran.dg/vect/fast-math-vect-8.f90          |    1 -
 gcc/testsuite/gfortran.dg/vect/pr46213.f90         |    1 -
 gcc/testsuite/gfortran.dg/vect/vect-8.f90          |    1 -
 gcc/testsuite/gfortran.dg/vect/vect-gems.f90       |    1 -
 .../gfortran.dg/vector_subscript_bound_1.f90       |    2 --
 gcc/testsuite/gfortran.dg/volatile10.f90           |    1 -
 gcc/testsuite/gfortran.dg/volatile5.f90            |    1 -
 gcc/testsuite/gfortran.dg/volatile9.f90            |    2 --
 .../gfortran.dg/warn_function_without_result_2.f90 |    1 -
 .../gfortran.dg/warn_implicit_procedure_1.f90      |    2 --
 .../gfortran.dg/warn_intent_out_not_set.f90        |    2 --
 gcc/testsuite/gfortran.dg/warn_unused_var_2.f90    |    2 --
 gcc/testsuite/gfortran.dg/warn_unused_var_3.f90    |    2 --
 .../gfortran.dg/where_operator_assign_1.f90        |    2 --
 .../gfortran.dg/where_operator_assign_2.f90        |    2 --
 .../gfortran.dg/where_operator_assign_3.f90        |    2 --
 .../gfortran.dg/where_operator_assign_4.f90        |    1 -
 gcc/testsuite/gfortran.dg/whole_file_11.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_14.f90        |    1 -
 gcc/testsuite/gfortran.dg/whole_file_15.f90        |    1 -
 gcc/testsuite/gfortran.dg/whole_file_19.f90        |    1 -
 gcc/testsuite/gfortran.dg/whole_file_20.f03        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_21.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_22.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_23.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_24.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_25.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_26.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_27.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_33.f90        |    2 --
 gcc/testsuite/gfortran.dg/whole_file_35.f90        |    2 --
 gcc/testsuite/gfortran.dg/widechar_5.f90           |    2 --
 gcc/testsuite/gfortran.dg/widechar_6.f90           |    2 --
 962 files changed, 0 insertions(+), 1646 deletions(-)

-- 
1.7.9.1

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-03 12:17                             ` [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2 Bernhard Reutner-Fischer
@ 2012-04-03 12:58                               ` Bernhard Reutner-Fischer
  2012-04-13 10:51                                 ` PING " Bernhard Reutner-Fischer
  2012-04-13 14:15                               ` Mike Stump
  1 sibling, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-04-03 12:58 UTC (permalink / raw)
  To: fortran; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 61340 bytes --]

On Tue, Apr 03, 2012 at 02:16:50PM +0200, Bernhard Reutner-Fischer wrote:
>Hi,
>
>The second part of implicitly doing cleanup-modules is to remove the now
>superfluous dg-final directives.
>
>The following patch (against trunk of 2012-03-12) is the result of
>(cd gcc/testsuite && grep -rl "cleanup-modules" * | \
> egrep -v "(\.exp|ChangeLog|\.svn|gfortran.dg/(class_4(a|b|c|5a).f03|binding_label_tests_1(0|1|1_main|3|3_main).f03|test_common_binding_labels_(2|2_main|3|3_main).f03|whole_file_(28|29|30|31).f90))" | \
> while read f;do \
>   sed -i -e ':crap' -e '/cleanup-modules/d' -e '/^\n*$/{$d;N;bcrap' -e '}' $f; \
> done)
>
>I would like to avoid listing all affected files in the ChangeLog entry,
>may i write
>	* all fortran-test: Remove now redundant manual cleanup-modules
>	directive.
>
>or do i have to list them all?
>
>Ok for trunk?

compressed patch attached.
>
>Bernhard Reutner-Fischer (1):
>  gcc/testsuite/ChangeLog
>
> gcc/testsuite/gfortran.dg/abstract_type_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_2.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_3.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_4.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_5.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_6.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_7.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_8.f03      |    2 --
> gcc/testsuite/gfortran.dg/access_spec_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/access_spec_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/access_spec_3.f90        |    1 -
> .../gfortran.dg/actual_array_constructor_1.f90     |    2 --
> .../gfortran.dg/actual_array_result_1.f90          |    1 -
> gcc/testsuite/gfortran.dg/actual_array_vect_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/actual_procedure_1.f90   |    1 -
> .../gfortran.dg/aliasing_array_result_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/aliasing_dummy_5.f90     |    2 --
> gcc/testsuite/gfortran.dg/alloc_alloc_expr_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_12.f03 |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_6.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_7.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_8.f90  |    2 --
> .../gfortran.dg/alloc_comp_auto_array_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90  |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_basics_5.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_class_1.f90   |    1 -
> .../gfortran.dg/alloc_comp_constraint_6.f90        |    1 -
> .../gfortran.dg/alloc_comp_initializer_1.f90       |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_result_1.f90  |    1 -
> .../gfortran.dg/allocatable_function_1.f90         |    1 -
> .../gfortran.dg/allocatable_function_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/allocatable_module_1.f90 |    1 -
> gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 |    2 --
> .../gfortran.dg/allocate_char_star_scalar_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/allocate_stat.f90        |    1 -
> .../gfortran.dg/allocate_with_source_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/altreturn_3.f90          |    1 -
> gcc/testsuite/gfortran.dg/altreturn_7.f90          |    3 ---
> .../gfortran.dg/ambiguous_reference_1.f90          |    1 -
> .../gfortran.dg/ambiguous_reference_2.f90          |    3 ---
> gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 |    1 -
> gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90 |    1 -
> gcc/testsuite/gfortran.dg/argument_checking_17.f90 |    2 --
> gcc/testsuite/gfortran.dg/argument_checking_8.f90  |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_20.f90 |    2 --
> gcc/testsuite/gfortran.dg/array_constructor_21.f90 |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_22.f90 |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_26.f03 |    2 --
> gcc/testsuite/gfortran.dg/array_function_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/array_function_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/array_memset_2.f90       |    1 -
> gcc/testsuite/gfortran.dg/array_temporaries_3.f90  |    2 --
> gcc/testsuite/gfortran.dg/assignment_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/assignment_3.f90         |    2 --
> gcc/testsuite/gfortran.dg/associate_6.f03          |    1 -
> gcc/testsuite/gfortran.dg/associate_9.f03          |    1 -
> gcc/testsuite/gfortran.dg/associated_target_3.f90  |    2 --
> .../gfortran.dg/assumed_charlen_function_1.f90     |    1 -
> .../gfortran.dg/assumed_charlen_function_6.f90     |    2 --
> gcc/testsuite/gfortran.dg/assumed_dummy_1.f90      |    2 --
> .../gfortran.dg/assumed_shape_ranks_1.f90          |    2 --
> .../gfortran.dg/assumed_shape_ranks_2.f90          |    2 --
> .../gfortran.dg/assumed_size_dt_dummy.f90          |    2 --
> gcc/testsuite/gfortran.dg/assumed_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/assumed_type_2.f90       |    2 --
> .../gfortran.dg/auto_char_dummy_array_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/auto_char_len_3.f90      |    2 --
> gcc/testsuite/gfortran.dg/auto_dealloc_1.f90       |    2 --
> .../gfortran.dg/automatic_default_init_1.f90       |    1 -
> .../gfortran.dg/automatic_module_variable.f90      |    2 --
> .../gfortran.dg/bad_automatic_objects_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/bind_c_coms.f90          |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts.f90           |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_4.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03 |    2 --
> gcc/testsuite/gfortran.dg/bind_c_module.f90        |    1 -
> gcc/testsuite/gfortran.dg/bind_c_procs.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_10.f03      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_15.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_16.f03      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_17.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_21.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_24.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_25.f90      |    5 -----
> gcc/testsuite/gfortran.dg/bind_c_usage_3.f03       |    1 -
> gcc/testsuite/gfortran.dg/bind_c_usage_7.f03       |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_8.f03       |    2 --
> gcc/testsuite/gfortran.dg/bind_c_vars.f90          |    2 --
> gcc/testsuite/gfortran.dg/binding_label_tests.f03  |    2 --
> .../gfortran.dg/binding_label_tests_10_main.f03    |    1 -
> .../gfortran.dg/binding_label_tests_12.f03         |    2 --
> .../gfortran.dg/binding_label_tests_16.f03         |    1 -
> .../gfortran.dg/binding_label_tests_2.f03          |    2 --
> .../gfortran.dg/binding_label_tests_7.f03          |    2 --
> .../gfortran.dg/binding_label_tests_9.f03          |    2 --
> .../gfortran.dg/bound_simplification_2.f90         |    1 -
> gcc/testsuite/gfortran.dg/bounds_check_9.f90       |    1 -
> gcc/testsuite/gfortran.dg/bounds_check_fail_2.f90  |    1 -
> .../gfortran.dg/bounds_check_strlen_2.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_3.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_4.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_5.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_6.f90          |    2 --
> .../gfortran.dg/bounds_check_strlen_7.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_8.f90          |    2 --
> gcc/testsuite/gfortran.dg/c_assoc.f90              |    2 --
> gcc/testsuite/gfortran.dg/c_by_val_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/c_char_tests.f03         |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_complex.f03  |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_logical.f03  |    1 -
> .../gfortran.dg/c_f_pointer_shape_tests_2.f03      |    2 --
> .../gfortran.dg/c_f_pointer_shape_tests_4.f03      |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90    |    2 --
> gcc/testsuite/gfortran.dg/c_funloc_tests.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_funloc_tests_3.f03     |    1 -
> gcc/testsuite/gfortran.dg/c_funloc_tests_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/c_kind_params.f90        |    1 -
> gcc/testsuite/gfortran.dg/c_kind_tests_2.f03       |    1 -
> gcc/testsuite/gfortran.dg/c_loc_test.f90           |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_12.f03       |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_2.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_5.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_6.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_7.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests.f03          |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_10.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_11.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_12.f03       |    3 ---
> gcc/testsuite/gfortran.dg/c_ptr_tests_14.f90       |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_15.f90       |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_17.f90       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_18.f90       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_7.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_9.f03        |    2 --
> gcc/testsuite/gfortran.dg/c_size_t_test.f03        |    2 --
> .../gfortran.dg/char_array_constructor.f90         |    2 --
> .../gfortran.dg/char_array_constructor_2.f90       |    1 -
> .../char_array_structure_constructor.f90           |    2 --
> gcc/testsuite/gfortran.dg/char_length_13.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_length_5.f90        |    1 -
> gcc/testsuite/gfortran.dg/char_length_7.f90        |    1 -
> gcc/testsuite/gfortran.dg/char_length_9.f90        |    2 --
> gcc/testsuite/gfortran.dg/char_result_11.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_result_13.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_result_9.f90        |    2 --
> gcc/testsuite/gfortran.dg/character_assign_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/class_10.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_12.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_13.f03             |    1 -
> gcc/testsuite/gfortran.dg/class_14.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_15.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_16.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_17.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_19.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_21.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_22.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_25.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_26.f03             |    1 -
> gcc/testsuite/gfortran.dg/class_27.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_28.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_29.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_32.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_33.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_34.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_35.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_37.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_40.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_41.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_42.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_45b.f03            |    2 --
> gcc/testsuite/gfortran.dg/class_46.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_47.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_9.f03              |    1 -
> gcc/testsuite/gfortran.dg/class_allocate_10.f03    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_12.f90    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_9.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_array_12.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_array_3.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_array_4.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_5.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_6.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_7.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_array_9.f03        |    2 --
> .../gfortran.dg/class_defined_operator_1.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_dummy_2.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_result_1.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_to_type_2.f90      |    2 --
> .../gfortran.dg/coarray/registering_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/coarray_14.f90           |    2 --
> gcc/testsuite/gfortran.dg/coarray_19.f90           |    2 --
> gcc/testsuite/gfortran.dg/coarray_21.f90           |    3 ---
> gcc/testsuite/gfortran.dg/coarray_6.f90            |    2 --
> gcc/testsuite/gfortran.dg/coarray_8.f90            |    2 --
> gcc/testsuite/gfortran.dg/coarray_args_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/coarray_lib_token_2.f90  |    1 -
> gcc/testsuite/gfortran.dg/coarray_lock_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/coarray_lock_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/com_block_driver.f90     |    2 --
> gcc/testsuite/gfortran.dg/common_12.f90            |    2 --
> gcc/testsuite/gfortran.dg/common_14.f90            |    2 --
> gcc/testsuite/gfortran.dg/common_17.f90            |    1 -
> gcc/testsuite/gfortran.dg/complex_intrinsic_5.f90  |    2 --
> gcc/testsuite/gfortran.dg/constructor_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_3.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_5.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_6.f90        |    2 --
> gcc/testsuite/gfortran.dg/contained_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/contained_3.f90          |    2 --
> .../gfortran.dg/contained_module_proc_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/contains_empty_2.f03     |    2 --
> gcc/testsuite/gfortran.dg/convert_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/cray_pointers_5.f90      |    2 --
> gcc/testsuite/gfortran.dg/cray_pointers_9.f90      |    1 -
> gcc/testsuite/gfortran.dg/data_constraints_1.f90   |    2 --
> .../gfortran.dg/data_namelist_conflict.f90         |    1 -
> gcc/testsuite/gfortran.dg/default_format_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/default_format_2.f90     |    1 -
> .../gfortran.dg/default_format_denormal_1.f90      |    1 -
> .../gfortran.dg/default_format_denormal_2.f90      |    1 -
> .../gfortran.dg/default_initialization_1.f90       |    2 --
> .../gfortran.dg/default_initialization_2.f90       |    2 --
> .../gfortran.dg/default_initialization_3.f90       |    1 -
> .../gfortran.dg/default_initialization_4.f90       |    1 -
> .../gfortran.dg/default_initialization_5.f90       |    1 -
> gcc/testsuite/gfortran.dg/defined_operators_1.f90  |    1 -
> gcc/testsuite/gfortran.dg/dependency_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_23.f90        |    3 ---
> gcc/testsuite/gfortran.dg/dependency_24.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_25.f90        |    2 --
> gcc/testsuite/gfortran.dg/dependency_26.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_28.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_34.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_35.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_36.f90        |    2 --
> gcc/testsuite/gfortran.dg/dependency_37.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_39.f90        |    1 -
> gcc/testsuite/gfortran.dg/der_charlen_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_io_2.f90             |    2 --
> gcc/testsuite/gfortran.dg/der_io_3.f90             |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_3.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_4.f90        |    2 --
> .../gfortran.dg/derived_array_intrinisics_1.f90    |    1 -
> .../gfortran.dg/derived_comp_array_ref_1.f90       |    2 --
> .../gfortran.dg/derived_comp_array_ref_2.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_3.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_4.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_6.f90       |    2 --
> .../gfortran.dg/derived_constructor_comps_1.f90    |    1 -
> .../gfortran.dg/derived_constructor_comps_3.f90    |    1 -
> .../gfortran.dg/derived_function_interface_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/derived_init_2.f90       |    1 -
> .../gfortran.dg/derived_pointer_recursion.f90      |    2 --
> .../gfortran.dg/derived_pointer_recursion_2.f90    |    3 ---
> gcc/testsuite/gfortran.dg/derived_recursion.f90    |    2 --
> gcc/testsuite/gfortran.dg/derived_sub.f90          |    1 -
> gcc/testsuite/gfortran.dg/dummy_functions_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_2.f90    |    1 -
> gcc/testsuite/gfortran.dg/dummy_procedure_3.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_4.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_6.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_7.f90    |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_1.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_10.f03  |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_11.f03  |    3 ---
> gcc/testsuite/gfortran.dg/dynamic_dispatch_2.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_3.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_4.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_5.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_6.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_7.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_8.f03   |    3 ---
> gcc/testsuite/gfortran.dg/dynamic_dispatch_9.f03   |    3 ---
> .../gfortran.dg/elemental_args_check_2.f90         |    1 -
> .../gfortran.dg/elemental_dependency_2.f90         |    2 --
> .../gfortran.dg/elemental_initializer_1.f90        |    2 --
> .../elemental_non_intrinsic_dummy_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/elemental_pointer_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/elemental_result_1.f90   |    1 -
> .../gfortran.dg/elemental_scalar_args_1.f90        |    1 -
> .../gfortran.dg/elemental_subroutine_1.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_2.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_3.f90         |    3 ---
> .../gfortran.dg/elemental_subroutine_4.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_6.f90         |    1 -
> gcc/testsuite/gfortran.dg/empty_derived_type.f90   |    2 --
> gcc/testsuite/gfortran.dg/entry_1.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_10.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_12.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_13.f90             |    2 --
> gcc/testsuite/gfortran.dg/entry_14.f90             |    2 --
> gcc/testsuite/gfortran.dg/entry_16.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_18.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_3.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_6.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_7.f90              |    3 ---
> gcc/testsuite/gfortran.dg/entry_9.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/enum_10.f90              |    2 --
> gcc/testsuite/gfortran.dg/equiv_constraint_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/equiv_constraint_7.f90   |    1 -
> gcc/testsuite/gfortran.dg/error_recovery_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/extends_1.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_10.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_12.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_13.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_2.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_3.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_4.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_5.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_6.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_7.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_8.f03            |    1 -
> gcc/testsuite/gfortran.dg/extends_9.f03            |    1 -
> .../gfortran.dg/external_procedures_2.f90          |    1 -
> gcc/testsuite/gfortran.dg/finalize_1.f08           |    2 --
> gcc/testsuite/gfortran.dg/finalize_2.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_3.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_4.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_5.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_6.f90           |    2 --
> gcc/testsuite/gfortran.dg/finalize_7.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_8.f03           |    2 --
> gcc/testsuite/gfortran.dg/forall_4.f90             |    1 -
> gcc/testsuite/gfortran.dg/forall_5.f90             |    1 -
> gcc/testsuite/gfortran.dg/func_assign.f90          |    2 --
> gcc/testsuite/gfortran.dg/func_assign_3.f90        |    1 -
> gcc/testsuite/gfortran.dg/func_derived_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_result_6.f90        |    2 --
> gcc/testsuite/gfortran.dg/function_charlen_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/function_charlen_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/function_kinds_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_kinds_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/function_kinds_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/function_kinds_4.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_optimize_8.f90  |    1 -
> gcc/testsuite/gfortran.dg/function_types_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_types_2.f90     |    1 -
> gcc/testsuite/gfortran.dg/generic_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_10.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_11.f90           |    3 ---
> gcc/testsuite/gfortran.dg/generic_12.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_13.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_14.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_15.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_16.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_17.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_18.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_19.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_2.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_20.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_21.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_22.f03           |    1 -
> gcc/testsuite/gfortran.dg/generic_23.f03           |    2 --
> gcc/testsuite/gfortran.dg/generic_24.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_3.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_4.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_5.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_6.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_7.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_8.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_9.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_actual_arg.f90   |    1 -
> .../gfortran.dg/generic_typebound_operator_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/global_references_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/global_vars_c_init.f90   |    2 --
> gcc/testsuite/gfortran.dg/global_vars_f90_init.f90 |    2 --
> .../gfortran.dg/gomp/allocatable_components_1.f90  |    2 --
> .../gfortran.dg/gomp/appendix-a/a.22.4.f90         |    1 -
> .../gfortran.dg/gomp/appendix-a/a.26.2.f90         |    1 -
> .../gfortran.dg/gomp/appendix-a/a.32.1.f90         |    1 -
> .../gfortran.dg/gomp/omp_threadprivate1.f90        |    1 -
> gcc/testsuite/gfortran.dg/gomp/pr35786-1.f90       |    2 --
> gcc/testsuite/gfortran.dg/gomp/reduction3.f90      |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-18.f90       |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-2.f90        |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-21.f         |    2 --
> gcc/testsuite/gfortran.dg/graphite/id-4.f90        |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr37980.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr38953.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr40982.f90     |    2 --
> gcc/testsuite/gfortran.dg/graphite/pr41924.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42050.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42180.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42181.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42185.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42186.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42393-1.f90   |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42393.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr45758.f90     |    1 -
> .../gfortran.dg/host_assoc_blockdata_1.f90         |    1 -
> .../gfortran.dg/host_assoc_blockdata_2.f90         |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_2.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_3.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_4.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_5.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_6.f90    |    1 -
> .../gfortran.dg/host_assoc_function_1.f90          |    1 -
> .../gfortran.dg/host_assoc_function_2.f90          |    1 -
> .../gfortran.dg/host_assoc_function_3.f90          |    1 -
> .../gfortran.dg/host_assoc_function_4.f90          |    1 -
> .../gfortran.dg/host_assoc_function_5.f90          |    1 -
> .../gfortran.dg/host_assoc_function_6.f90          |    2 --
> .../gfortran.dg/host_assoc_function_7.f90          |    2 --
> .../gfortran.dg/host_assoc_function_9.f90          |    2 --
> gcc/testsuite/gfortran.dg/host_assoc_types_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_types_2.f90   |    1 -
> .../gfortran.dg/host_assoc_variable_1.f90          |    1 -
> gcc/testsuite/gfortran.dg/host_used_types_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/implicit_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/implicit_10.f90          |    1 -
> gcc/testsuite/gfortran.dg/implicit_11.f90          |    2 --
> gcc/testsuite/gfortran.dg/implicit_12.f90          |    2 --
> gcc/testsuite/gfortran.dg/implicit_2.f90           |    2 --
> gcc/testsuite/gfortran.dg/implicit_actual.f90      |    2 --
> .../gfortran.dg/implicit_derived_type_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/implicit_pure_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/implicit_pure_2.f90      |    1 -
> gcc/testsuite/gfortran.dg/import.f90               |    1 -
> gcc/testsuite/gfortran.dg/import2.f90              |    1 -
> gcc/testsuite/gfortran.dg/import4.f90              |    1 -
> gcc/testsuite/gfortran.dg/import5.f90              |    1 -
> gcc/testsuite/gfortran.dg/import7.f90              |    3 ---
> gcc/testsuite/gfortran.dg/impure_1.f08             |    2 --
> gcc/testsuite/gfortran.dg/impure_2.f08             |    2 --
> gcc/testsuite/gfortran.dg/impure_actual_1.f90      |    3 ---
> gcc/testsuite/gfortran.dg/impure_assignment_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/impure_assignment_2.f90  |    2 --
> gcc/testsuite/gfortran.dg/impure_constructor_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/impure_spec_expr_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/initialization_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/initialization_10.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_12.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_19.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_23.f90    |    3 ---
> gcc/testsuite/gfortran.dg/inquire_11.f90           |    1 -
> gcc/testsuite/gfortran.dg/int_1.f90                |    2 --
> gcc/testsuite/gfortran.dg/int_2.f90                |    1 -
> .../gfortran.dg/integer_exponentiation_3.F90       |    2 --
> .../gfortran.dg/integer_exponentiation_5.F90       |    2 --
> gcc/testsuite/gfortran.dg/intent_out_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/intent_out_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/intent_out_6.f90         |    2 --
> gcc/testsuite/gfortran.dg/intent_used_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/interface_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_10.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_11.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_12.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_13.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_14.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_15.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_16.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_17.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_18.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_19.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_20.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_21.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_22.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_23.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_24.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_25.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_26.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_27.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_28.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_29.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_3.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_31.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_32.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_33.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_35.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_4.f90          |    1 -
> gcc/testsuite/gfortran.dg/interface_5.f90          |    1 -
> gcc/testsuite/gfortran.dg/interface_7.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_8.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_9.f90          |    3 ---
> .../gfortran.dg/interface_assignment_1.f90         |    1 -
> .../gfortran.dg/interface_assignment_2.f90         |    1 -
> .../gfortran.dg/interface_assignment_3.f90         |    2 --
> .../gfortran.dg/interface_assignment_5.f90         |    1 -
> .../gfortran.dg/interface_derived_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/interface_proc_end.f90   |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_2.f08     |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_3.f08     |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_4.f08     |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_10.f90     |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_12.f90     |    2 --
> gcc/testsuite/gfortran.dg/internal_pack_4.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_6.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_7.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_8.f90      |    1 -
> .../gfortran.dg/internal_references_1.f90          |    1 -
> .../gfortran.dg/internal_references_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_1.f90          |    3 ---
> gcc/testsuite/gfortran.dg/intrinsic_3.f90          |    3 ---
> gcc/testsuite/gfortran.dg/intrinsic_shadow_1.f03   |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_shadow_2.f03   |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_shadow_3.f03   |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_7.f03     |    2 --
> .../gfortran.dg/iso_c_binding_compiler_3.f90       |    2 --
> .../gfortran.dg/iso_c_binding_compiler_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/iso_c_binding_only.f03   |    2 --
> .../gfortran.dg/iso_c_binding_rename_1.f03         |    2 --
> .../gfortran.dg/iso_c_binding_rename_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/iso_fortran_env_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/iso_fortran_env_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/iso_fortran_env_4.f90    |    1 -
> gcc/testsuite/gfortran.dg/kind_tests_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/kind_tests_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/large_integer_kind_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/large_real_kind_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/ldist-pr43023.f90        |    2 --
> gcc/testsuite/gfortran.dg/lto/20100222-1_0.f03     |    1 -
> gcc/testsuite/gfortran.dg/lto/pr40725_0.f03        |    2 --
> gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90      |    2 --
> gcc/testsuite/gfortran.dg/lto/pr45586_0.f90        |    2 --
> gcc/testsuite/gfortran.dg/lto/pr47839_0.f90        |    2 --
> gcc/testsuite/gfortran.dg/mapping_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/mapping_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/maxloc_bounds_4.f90      |    2 --
> gcc/testsuite/gfortran.dg/maxloc_bounds_5.f90      |    1 -
> gcc/testsuite/gfortran.dg/maxloc_bounds_7.f90      |    1 -
> .../gfortran.dg/missing_derived_type_1.f90         |    1 -
> .../gfortran.dg/missing_optional_dummy_2.f90       |    2 --
> .../gfortran.dg/missing_optional_dummy_4.f90       |    2 --
> .../gfortran.dg/missing_optional_dummy_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/module_blank_common.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_commons_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_commons_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_commons_3.f90     |    1 -
> gcc/testsuite/gfortran.dg/module_double_reuse.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_2.f90 |    1 -
> gcc/testsuite/gfortran.dg/module_equivalence_3.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_4.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_5.f90 |    3 ---
> gcc/testsuite/gfortran.dg/module_equivalence_6.f90 |    1 -
> .../gfortran.dg/module_function_type_1.f90         |    3 ---
> .../gfortran.dg/module_implicit_conversion.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_interface_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/module_interface_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/module_md5_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/module_naming_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/module_nan.f90           |    2 --
> .../gfortran.dg/module_parameter_array_refs_1.f90  |    2 --
> .../gfortran.dg/module_parameter_array_refs_2.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_private_1.f90     |    2 --
> .../gfortran.dg/module_private_array_refs_1.f90    |    2 --
> .../gfortran.dg/module_proc_external_dummy.f90     |    1 -
> gcc/testsuite/gfortran.dg/module_procedure_1.f90   |    1 -
> .../module_procedure_double_colon_1.f90            |    1 -
> .../module_procedure_double_colon_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/module_read_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/module_read_2.f90        |    2 --
> gcc/testsuite/gfortran.dg/module_widestring_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_write_1.f90       |    1 -
> gcc/testsuite/gfortran.dg/move_alloc_10.f90        |    2 --
> gcc/testsuite/gfortran.dg/move_alloc_8.f90         |    2 --
> gcc/testsuite/gfortran.dg/move_alloc_9.f90         |    2 --
> gcc/testsuite/gfortran.dg/mvbits_6.f90             |    1 -
> gcc/testsuite/gfortran.dg/named_interface.f90      |    2 --
> gcc/testsuite/gfortran.dg/namelist_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/namelist_14.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_15.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_33.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_34.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_36.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_4.f90           |    1 -
> gcc/testsuite/gfortran.dg/namelist_40.f90          |    1 -
> gcc/testsuite/gfortran.dg/namelist_47.f90          |    1 -
> gcc/testsuite/gfortran.dg/namelist_52.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_62.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_use.f90         |    2 --
> gcc/testsuite/gfortran.dg/namelist_use_only.f90    |    2 --
> gcc/testsuite/gfortran.dg/nan_1.f90                |    2 --
> gcc/testsuite/gfortran.dg/nan_2.f90                |    1 -
> gcc/testsuite/gfortran.dg/nested_forall_1.f        |    1 -
> gcc/testsuite/gfortran.dg/nested_modules_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_5.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_6.f90     |    1 -
> gcc/testsuite/gfortran.dg/operator_1.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_2.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_4.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_6.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_7.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_c1202.f90       |    2 --
> .../gfortran.dg/optional_assumed_charlen_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/optional_dim_3.f90       |    1 -
> gcc/testsuite/gfortran.dg/overload_1.f90           |    1 -
> .../gfortran.dg/parameter_array_init_3.f90         |    1 -
> .../gfortran.dg/parameter_array_init_5.f90         |    1 -
> .../gfortran.dg/parameter_array_section_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/parens_5.f90             |    2 --
> gcc/testsuite/gfortran.dg/parens_7.f90             |    2 --
> gcc/testsuite/gfortran.dg/parent_result_ref_4.f90  |    2 --
> gcc/testsuite/gfortran.dg/pointer_check_6.f90      |    3 ---
> gcc/testsuite/gfortran.dg/pointer_check_7.f90      |    2 --
> gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_6.f90       |    2 --
> gcc/testsuite/gfortran.dg/pr15164.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr16861.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr17615.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr19926.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr21177.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr25923.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr26246_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/pr32222.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32238.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32242.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32535.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr32601.f03              |    1 -
> gcc/testsuite/gfortran.dg/pr32738.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr32921.f                |    1 -
> gcc/testsuite/gfortran.dg/pr33646.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr33794.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr37286.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr37287-1.f90            |    2 --
> gcc/testsuite/gfortran.dg/pr37287-2.F90            |    1 -
> gcc/testsuite/gfortran.dg/pr41347.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr41928.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr42051.f03              |    2 --
> gcc/testsuite/gfortran.dg/pr42119.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr42166.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr43505.f90              |    3 ---
> gcc/testsuite/gfortran.dg/pr43793.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr43866.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr43984.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr50875.f90              |    2 --
> gcc/testsuite/gfortran.dg/present_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/private_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_10.f90      |    2 --
> gcc/testsuite/gfortran.dg/private_type_11.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_12.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_13.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_14.f90      |    2 --
> gcc/testsuite/gfortran.dg/private_type_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_5.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_6.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_7.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_8.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_9.f90       |    1 -
> gcc/testsuite/gfortran.dg/proc_assign_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/proc_assign_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_10.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_12.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_13.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_17.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_18.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_20.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_23.f90         |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_27.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_5.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_7.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_8.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_10.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_13.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_20.f90          |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_22.f90          |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_26.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_27.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_28.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_29.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_33.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_34.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_36.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_8.f90           |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_10.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_12.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_15.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_16.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_17.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_22.f90     |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_comp_23.f90     |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_comp_31.f90     |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_32.f90     |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_33.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_4.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_6.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_7.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_1.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_2.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_4.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_5.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_6.f90 |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_7.f90 |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_result_1.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_2.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_3.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_6.f90    |    3 ---
> gcc/testsuite/gfortran.dg/procedure_lvalue.f90     |    2 --
> gcc/testsuite/gfortran.dg/protected_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_4.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_5.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_6.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_7.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_8.f90          |    2 --
> .../gfortran.dg/public_private_module.f90          |    1 -
> gcc/testsuite/gfortran.dg/pure_byref_3.f90         |    2 --
> gcc/testsuite/gfortran.dg/pure_formal_proc_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/pure_initializer_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/realloc_on_assign_13.f90 |    2 --
> gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03  |    3 ---
> gcc/testsuite/gfortran.dg/realloc_on_assign_6.f03  |    3 ---
> gcc/testsuite/gfortran.dg/realloc_on_assign_9.f90  |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_12.f90   |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_13.f90   |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_3.f90    |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_4.f03    |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_5.f03    |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_6.f03    |    2 --
> .../gfortran.dg/recursive_reference_2.f90          |    2 --
> .../gfortran.dg/redefined_intrinsic_assignment.f90 |    1 -
> .../redefined_intrinsic_assignment_2.f90           |    2 --
> gcc/testsuite/gfortran.dg/reshape_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_2.f90     |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/same_name_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/same_name_2.f90          |    1 -
> gcc/testsuite/gfortran.dg/save_3.f90               |    2 --
> gcc/testsuite/gfortran.dg/save_parameter.f90       |    2 --
> gcc/testsuite/gfortran.dg/select_type_10.f03       |    2 --
> gcc/testsuite/gfortran.dg/select_type_15.f03       |    3 ---
> gcc/testsuite/gfortran.dg/select_type_16.f03       |    3 ---
> gcc/testsuite/gfortran.dg/select_type_18.f03       |    2 --
> gcc/testsuite/gfortran.dg/select_type_4.f90        |    1 -
> gcc/testsuite/gfortran.dg/sequence_types_1.f90     |    1 -
> .../gfortran.dg/sibling_dummy_procedure_1.f90      |    2 --
> .../gfortran.dg/sibling_dummy_procedure_2.f90      |    2 --
> .../gfortran.dg/sibling_dummy_procedure_3.f90      |    2 --
> gcc/testsuite/gfortran.dg/simplify_argN_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/spec_expr_4.f90          |    1 -
> gcc/testsuite/gfortran.dg/spec_expr_6.f90          |    2 --
> .../specification_type_resolution_1.f90            |    1 -
> .../specification_type_resolution_2.f90            |    2 --
> gcc/testsuite/gfortran.dg/stfunc_5.f90             |    3 ---
> gcc/testsuite/gfortran.dg/string_compare_2.f90     |    2 --
> .../gfortran.dg/structure_constructor_10.f90       |    3 ---
> .../gfortran.dg/structure_constructor_8.f03        |    1 -
> gcc/testsuite/gfortran.dg/substr_1.f90             |    2 --
> .../gfortran.dg/substring_equivalence.f90          |    2 --
> gcc/testsuite/gfortran.dg/test_com_block.f90       |    2 --
> .../gfortran.dg/test_common_binding_labels.f03     |    2 --
> gcc/testsuite/gfortran.dg/test_only_clause.f90     |    2 --
> .../gfortran.dg/transfer_assumed_size_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/transfer_intrinsic_3.f90 |    1 -
> .../gfortran.dg/transpose_optimization_1.f90       |    1 -
> .../gfortran.dg/transpose_optimization_2.f90       |    1 -
> gcc/testsuite/gfortran.dg/trim_optimize_2.f90      |    1 -
> gcc/testsuite/gfortran.dg/trim_optimize_6.f90      |    2 --
> gcc/testsuite/gfortran.dg/type_decl_1.f90          |    2 --
> .../gfortran.dg/typebound_assignment_1.f03         |    2 --
> .../gfortran.dg/typebound_assignment_2.f03         |    2 --
> .../gfortran.dg/typebound_assignment_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_1.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_10.f03    |    3 ---
> gcc/testsuite/gfortran.dg/typebound_call_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_12.f03    |    1 -
> gcc/testsuite/gfortran.dg/typebound_call_13.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_14.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_15.f03    |    1 -
> gcc/testsuite/gfortran.dg/typebound_call_16.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_17.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_18.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_19.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_2.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_20.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_21.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_22.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_3.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_5.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_9.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_1.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_10.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_11.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_2.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_3.f03  |    1 -
> gcc/testsuite/gfortran.dg/typebound_generic_4.f03  |    1 -
> gcc/testsuite/gfortran.dg/typebound_generic_5.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_6.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_7.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_8.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_9.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_1.f03 |    2 --
> .../gfortran.dg/typebound_operator_10.f03          |    1 -
> .../gfortran.dg/typebound_operator_11.f90          |    2 --
> .../gfortran.dg/typebound_operator_12.f03          |    2 --
> .../gfortran.dg/typebound_operator_13.f03          |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_2.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_3.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_4.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_5.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_6.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_7.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_8.f03 |    1 -
> gcc/testsuite/gfortran.dg/typebound_operator_9.f03 |    1 -
> gcc/testsuite/gfortran.dg/typebound_override_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_override_2.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_1.f08     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_10.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_13.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_14.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_15.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_16.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_17.f03    |    3 ---
> gcc/testsuite/gfortran.dg/typebound_proc_18.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_19.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_20.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_21.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_22.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_23.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_24.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_25.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_3.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_5.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_9.f03     |    2 --
> .../gfortran.dg/unreferenced_use_assoc_1.f90       |    1 -
> .../gfortran.dg/unused_artificial_dummies_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/use_1.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_10.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_11.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_12.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_13.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_14.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_15.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_16.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_17.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_18.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_19.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_20.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_21.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_3.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_4.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_5.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_6.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_7.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_9.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_allocated_1.f90      |    2 --
> gcc/testsuite/gfortran.dg/use_iso_c_binding.f90    |    2 --
> gcc/testsuite/gfortran.dg/use_only_1.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_2.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_3.f90           |    4 ----
> gcc/testsuite/gfortran.dg/use_only_4.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/use_rename_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/use_rename_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/use_rename_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/use_rename_4.f90         |    2 --
> gcc/testsuite/gfortran.dg/use_rename_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_before_typed_3.f90  |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_2.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_4.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_5.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_6.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_7.f90   |    1 -
> gcc/testsuite/gfortran.dg/used_dummy_types_8.f90   |    1 -
> gcc/testsuite/gfortran.dg/used_interface_ref.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_types_1.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_types_10.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_11.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_12.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_13.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_14.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_15.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_16.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_17.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_types_20.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_22.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_23.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_24.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_25.f90        |    3 ---
> gcc/testsuite/gfortran.dg/used_types_26.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_4.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_5.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_6.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_7.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_8.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_9.f90         |    1 -
> gcc/testsuite/gfortran.dg/userdef_operator_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/userdef_operator_2.f90   |    2 --
> gcc/testsuite/gfortran.dg/value_1.f90              |    1 -
> gcc/testsuite/gfortran.dg/value_4.f90              |    1 -
> gcc/testsuite/gfortran.dg/value_6.f03              |    1 -
> .../gfortran.dg/vect/fast-math-real8-pr40801.f90   |    1 -
> .../gfortran.dg/vect/fast-math-vect-8.f90          |    1 -
> gcc/testsuite/gfortran.dg/vect/pr46213.f90         |    1 -
> gcc/testsuite/gfortran.dg/vect/vect-8.f90          |    1 -
> gcc/testsuite/gfortran.dg/vect/vect-gems.f90       |    1 -
> .../gfortran.dg/vector_subscript_bound_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/volatile10.f90           |    1 -
> gcc/testsuite/gfortran.dg/volatile5.f90            |    1 -
> gcc/testsuite/gfortran.dg/volatile9.f90            |    2 --
> .../gfortran.dg/warn_function_without_result_2.f90 |    1 -
> .../gfortran.dg/warn_implicit_procedure_1.f90      |    2 --
> .../gfortran.dg/warn_intent_out_not_set.f90        |    2 --
> gcc/testsuite/gfortran.dg/warn_unused_var_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/warn_unused_var_3.f90    |    2 --
> .../gfortran.dg/where_operator_assign_1.f90        |    2 --
> .../gfortran.dg/where_operator_assign_2.f90        |    2 --
> .../gfortran.dg/where_operator_assign_3.f90        |    2 --
> .../gfortran.dg/where_operator_assign_4.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_11.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_14.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_15.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_20.f03        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_21.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_22.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_23.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_24.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_25.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_26.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_27.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_33.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_35.f90        |    2 --
> gcc/testsuite/gfortran.dg/widechar_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/widechar_6.f90           |    2 --
> 962 files changed, 0 insertions(+), 1646 deletions(-)
>
>-- 
>1.7.9.1
>

[-- Attachment #2: 0001-gcc-testsuite-ChangeLog.patch.bz2 --]
[-- Type: application/octet-stream, Size: 60487 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* PING Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-03 12:58                               ` Bernhard Reutner-Fischer
@ 2012-04-13 10:51                                 ` Bernhard Reutner-Fischer
  2012-04-13 13:58                                   ` Mike Stump
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-04-13 10:51 UTC (permalink / raw)
  To: fortran; +Cc: gcc-patches

Ping.

On Tue, Apr 03, 2012 at 02:16:50PM +0200, Bernhard Reutner-Fischer wrote:
>Hi,
>
>The second part of implicitly doing cleanup-modules is to remove the now
>superfluous dg-final directives.
>
>The following patch (against trunk of 2012-03-12) is the result of
>(cd gcc/testsuite && grep -rl "cleanup-modules" * | \
> egrep -v "(\.exp|ChangeLog|\.svn|gfortran.dg/(class_4(a|b|c|5a).f03|binding_label_tests_1(0|1|1_main|3|3_main).f03|test_common_binding_labels_(2|2_main|3|3_main).f03|whole_file_(28|29|30|31).f90))" | \
> while read f;do \
>   sed -i -e ':crap' -e '/cleanup-modules/d' -e '/^\n*$/{$d;N;bcrap' -e '}' $f; \
> done)
>
>I would like to avoid listing all affected files in the ChangeLog entry,
>may i write
>	* all fortran-test: Remove now redundant manual cleanup-modules
>	directive.
>
>or do i have to list them all?
>
>Ok for trunk?
>
>Bernhard Reutner-Fischer (1):
>  gcc/testsuite/ChangeLog
>
> gcc/testsuite/gfortran.dg/abstract_type_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_2.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_3.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_4.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_5.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_6.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_7.f03      |    1 -
> gcc/testsuite/gfortran.dg/abstract_type_8.f03      |    2 --
> gcc/testsuite/gfortran.dg/access_spec_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/access_spec_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/access_spec_3.f90        |    1 -
> .../gfortran.dg/actual_array_constructor_1.f90     |    2 --
> .../gfortran.dg/actual_array_result_1.f90          |    1 -
> gcc/testsuite/gfortran.dg/actual_array_vect_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/actual_procedure_1.f90   |    1 -
> .../gfortran.dg/aliasing_array_result_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/aliasing_dummy_5.f90     |    2 --
> gcc/testsuite/gfortran.dg/alloc_alloc_expr_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_10.f90 |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_12.f03 |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_6.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_7.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_assign_8.f90  |    2 --
> .../gfortran.dg/alloc_comp_auto_array_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_basics_1.f90  |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_basics_4.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_basics_5.f90  |    2 --
> gcc/testsuite/gfortran.dg/alloc_comp_class_1.f90   |    1 -
> .../gfortran.dg/alloc_comp_constraint_6.f90        |    1 -
> .../gfortran.dg/alloc_comp_initializer_1.f90       |    1 -
> gcc/testsuite/gfortran.dg/alloc_comp_result_1.f90  |    1 -
> .../gfortran.dg/allocatable_function_1.f90         |    1 -
> .../gfortran.dg/allocatable_function_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/allocatable_module_1.f90 |    1 -
> gcc/testsuite/gfortran.dg/allocatable_scalar_9.f90 |    2 --
> .../gfortran.dg/allocate_char_star_scalar_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/allocate_stat.f90        |    1 -
> .../gfortran.dg/allocate_with_source_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/altreturn_3.f90          |    1 -
> gcc/testsuite/gfortran.dg/altreturn_7.f90          |    3 ---
> .../gfortran.dg/ambiguous_reference_1.f90          |    1 -
> .../gfortran.dg/ambiguous_reference_2.f90          |    3 ---
> gcc/testsuite/gfortran.dg/ambiguous_specific_1.f90 |    1 -
> gcc/testsuite/gfortran.dg/ambiguous_specific_2.f90 |    1 -
> gcc/testsuite/gfortran.dg/argument_checking_17.f90 |    2 --
> gcc/testsuite/gfortran.dg/argument_checking_8.f90  |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_20.f90 |    2 --
> gcc/testsuite/gfortran.dg/array_constructor_21.f90 |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_22.f90 |    1 -
> gcc/testsuite/gfortran.dg/array_constructor_26.f03 |    2 --
> gcc/testsuite/gfortran.dg/array_function_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/array_function_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/array_memset_2.f90       |    1 -
> gcc/testsuite/gfortran.dg/array_temporaries_3.f90  |    2 --
> gcc/testsuite/gfortran.dg/assignment_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/assignment_3.f90         |    2 --
> gcc/testsuite/gfortran.dg/associate_6.f03          |    1 -
> gcc/testsuite/gfortran.dg/associate_9.f03          |    1 -
> gcc/testsuite/gfortran.dg/associated_target_3.f90  |    2 --
> .../gfortran.dg/assumed_charlen_function_1.f90     |    1 -
> .../gfortran.dg/assumed_charlen_function_6.f90     |    2 --
> gcc/testsuite/gfortran.dg/assumed_dummy_1.f90      |    2 --
> .../gfortran.dg/assumed_shape_ranks_1.f90          |    2 --
> .../gfortran.dg/assumed_shape_ranks_2.f90          |    2 --
> .../gfortran.dg/assumed_size_dt_dummy.f90          |    2 --
> gcc/testsuite/gfortran.dg/assumed_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/assumed_type_2.f90       |    2 --
> .../gfortran.dg/auto_char_dummy_array_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/auto_char_len_3.f90      |    2 --
> gcc/testsuite/gfortran.dg/auto_dealloc_1.f90       |    2 --
> .../gfortran.dg/automatic_default_init_1.f90       |    1 -
> .../gfortran.dg/automatic_module_variable.f90      |    2 --
> .../gfortran.dg/bad_automatic_objects_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/bind_c_coms.f90          |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts.f90           |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_4.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_dts_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_implicit_vars.f03 |    2 --
> gcc/testsuite/gfortran.dg/bind_c_module.f90        |    1 -
> gcc/testsuite/gfortran.dg/bind_c_procs.f03         |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_10.f03      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_15.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_16.f03      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_17.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_21.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_24.f90      |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_25.f90      |    5 -----
> gcc/testsuite/gfortran.dg/bind_c_usage_3.f03       |    1 -
> gcc/testsuite/gfortran.dg/bind_c_usage_7.f03       |    2 --
> gcc/testsuite/gfortran.dg/bind_c_usage_8.f03       |    2 --
> gcc/testsuite/gfortran.dg/bind_c_vars.f90          |    2 --
> gcc/testsuite/gfortran.dg/binding_label_tests.f03  |    2 --
> .../gfortran.dg/binding_label_tests_10_main.f03    |    1 -
> .../gfortran.dg/binding_label_tests_12.f03         |    2 --
> .../gfortran.dg/binding_label_tests_16.f03         |    1 -
> .../gfortran.dg/binding_label_tests_2.f03          |    2 --
> .../gfortran.dg/binding_label_tests_7.f03          |    2 --
> .../gfortran.dg/binding_label_tests_9.f03          |    2 --
> .../gfortran.dg/bound_simplification_2.f90         |    1 -
> gcc/testsuite/gfortran.dg/bounds_check_9.f90       |    1 -
> gcc/testsuite/gfortran.dg/bounds_check_fail_2.f90  |    1 -
> .../gfortran.dg/bounds_check_strlen_2.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_3.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_4.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_5.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_6.f90          |    2 --
> .../gfortran.dg/bounds_check_strlen_7.f90          |    1 -
> .../gfortran.dg/bounds_check_strlen_8.f90          |    2 --
> gcc/testsuite/gfortran.dg/c_assoc.f90              |    2 --
> gcc/testsuite/gfortran.dg/c_by_val_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/c_char_tests.f03         |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_complex.f03  |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_logical.f03  |    1 -
> .../gfortran.dg/c_f_pointer_shape_tests_2.f03      |    2 --
> .../gfortran.dg/c_f_pointer_shape_tests_4.f03      |    2 --
> gcc/testsuite/gfortran.dg/c_f_pointer_tests.f90    |    2 --
> gcc/testsuite/gfortran.dg/c_funloc_tests.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_funloc_tests_3.f03     |    1 -
> gcc/testsuite/gfortran.dg/c_funloc_tests_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/c_kind_params.f90        |    1 -
> gcc/testsuite/gfortran.dg/c_kind_tests_2.f03       |    1 -
> gcc/testsuite/gfortran.dg/c_loc_test.f90           |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_12.f03       |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_2.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_5.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_6.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_loc_tests_7.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests.f03          |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_10.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_11.f03       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_12.f03       |    3 ---
> gcc/testsuite/gfortran.dg/c_ptr_tests_14.f90       |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_15.f90       |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_17.f90       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_18.f90       |    2 --
> gcc/testsuite/gfortran.dg/c_ptr_tests_7.f03        |    1 -
> gcc/testsuite/gfortran.dg/c_ptr_tests_9.f03        |    2 --
> gcc/testsuite/gfortran.dg/c_size_t_test.f03        |    2 --
> .../gfortran.dg/char_array_constructor.f90         |    2 --
> .../gfortran.dg/char_array_constructor_2.f90       |    1 -
> .../char_array_structure_constructor.f90           |    2 --
> gcc/testsuite/gfortran.dg/char_length_13.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_length_5.f90        |    1 -
> gcc/testsuite/gfortran.dg/char_length_7.f90        |    1 -
> gcc/testsuite/gfortran.dg/char_length_9.f90        |    2 --
> gcc/testsuite/gfortran.dg/char_result_11.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_result_13.f90       |    2 --
> gcc/testsuite/gfortran.dg/char_result_9.f90        |    2 --
> gcc/testsuite/gfortran.dg/character_assign_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/class_10.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_12.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_13.f03             |    1 -
> gcc/testsuite/gfortran.dg/class_14.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_15.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_16.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_17.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_19.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_21.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_22.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_25.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_26.f03             |    1 -
> gcc/testsuite/gfortran.dg/class_27.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_28.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_29.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_32.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_33.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_34.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_35.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_37.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_40.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_41.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_42.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_45b.f03            |    2 --
> gcc/testsuite/gfortran.dg/class_46.f03             |    2 --
> gcc/testsuite/gfortran.dg/class_47.f90             |    2 --
> gcc/testsuite/gfortran.dg/class_9.f03              |    1 -
> gcc/testsuite/gfortran.dg/class_allocate_10.f03    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_12.f90    |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_allocate_9.f03     |    2 --
> gcc/testsuite/gfortran.dg/class_array_12.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_array_3.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_array_4.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_5.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_6.f03        |    1 -
> gcc/testsuite/gfortran.dg/class_array_7.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_array_9.f03        |    2 --
> .../gfortran.dg/class_defined_operator_1.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_dummy_2.f03        |    2 --
> gcc/testsuite/gfortran.dg/class_result_1.f03       |    2 --
> gcc/testsuite/gfortran.dg/class_to_type_2.f90      |    2 --
> .../gfortran.dg/coarray/registering_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/coarray_14.f90           |    2 --
> gcc/testsuite/gfortran.dg/coarray_19.f90           |    2 --
> gcc/testsuite/gfortran.dg/coarray_21.f90           |    3 ---
> gcc/testsuite/gfortran.dg/coarray_6.f90            |    2 --
> gcc/testsuite/gfortran.dg/coarray_8.f90            |    2 --
> gcc/testsuite/gfortran.dg/coarray_args_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/coarray_lib_token_2.f90  |    1 -
> gcc/testsuite/gfortran.dg/coarray_lock_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/coarray_lock_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/com_block_driver.f90     |    2 --
> gcc/testsuite/gfortran.dg/common_12.f90            |    2 --
> gcc/testsuite/gfortran.dg/common_14.f90            |    2 --
> gcc/testsuite/gfortran.dg/common_17.f90            |    1 -
> gcc/testsuite/gfortran.dg/complex_intrinsic_5.f90  |    2 --
> gcc/testsuite/gfortran.dg/constructor_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_3.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_5.f90        |    2 --
> gcc/testsuite/gfortran.dg/constructor_6.f90        |    2 --
> gcc/testsuite/gfortran.dg/contained_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/contained_3.f90          |    2 --
> .../gfortran.dg/contained_module_proc_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/contains_empty_2.f03     |    2 --
> gcc/testsuite/gfortran.dg/convert_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/cray_pointers_5.f90      |    2 --
> gcc/testsuite/gfortran.dg/cray_pointers_9.f90      |    1 -
> gcc/testsuite/gfortran.dg/data_constraints_1.f90   |    2 --
> .../gfortran.dg/data_namelist_conflict.f90         |    1 -
> gcc/testsuite/gfortran.dg/default_format_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/default_format_2.f90     |    1 -
> .../gfortran.dg/default_format_denormal_1.f90      |    1 -
> .../gfortran.dg/default_format_denormal_2.f90      |    1 -
> .../gfortran.dg/default_initialization_1.f90       |    2 --
> .../gfortran.dg/default_initialization_2.f90       |    2 --
> .../gfortran.dg/default_initialization_3.f90       |    1 -
> .../gfortran.dg/default_initialization_4.f90       |    1 -
> .../gfortran.dg/default_initialization_5.f90       |    1 -
> gcc/testsuite/gfortran.dg/defined_operators_1.f90  |    1 -
> gcc/testsuite/gfortran.dg/dependency_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_23.f90        |    3 ---
> gcc/testsuite/gfortran.dg/dependency_24.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_25.f90        |    2 --
> gcc/testsuite/gfortran.dg/dependency_26.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_28.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_34.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_35.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_36.f90        |    2 --
> gcc/testsuite/gfortran.dg/dependency_37.f90        |    1 -
> gcc/testsuite/gfortran.dg/dependency_39.f90        |    1 -
> gcc/testsuite/gfortran.dg/der_charlen_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_io_2.f90             |    2 --
> gcc/testsuite/gfortran.dg/der_io_3.f90             |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_3.f90        |    2 --
> gcc/testsuite/gfortran.dg/der_pointer_4.f90        |    2 --
> .../gfortran.dg/derived_array_intrinisics_1.f90    |    1 -
> .../gfortran.dg/derived_comp_array_ref_1.f90       |    2 --
> .../gfortran.dg/derived_comp_array_ref_2.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_3.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_4.f90       |    1 -
> .../gfortran.dg/derived_comp_array_ref_6.f90       |    2 --
> .../gfortran.dg/derived_constructor_comps_1.f90    |    1 -
> .../gfortran.dg/derived_constructor_comps_3.f90    |    1 -
> .../gfortran.dg/derived_function_interface_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/derived_init_2.f90       |    1 -
> .../gfortran.dg/derived_pointer_recursion.f90      |    2 --
> .../gfortran.dg/derived_pointer_recursion_2.f90    |    3 ---
> gcc/testsuite/gfortran.dg/derived_recursion.f90    |    2 --
> gcc/testsuite/gfortran.dg/derived_sub.f90          |    1 -
> gcc/testsuite/gfortran.dg/dummy_functions_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_2.f90    |    1 -
> gcc/testsuite/gfortran.dg/dummy_procedure_3.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_4.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_6.f90    |    2 --
> gcc/testsuite/gfortran.dg/dummy_procedure_7.f90    |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_1.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_10.f03  |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_11.f03  |    3 ---
> gcc/testsuite/gfortran.dg/dynamic_dispatch_2.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_3.f03   |    1 -
> gcc/testsuite/gfortran.dg/dynamic_dispatch_4.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_5.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_6.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_7.f03   |    2 --
> gcc/testsuite/gfortran.dg/dynamic_dispatch_8.f03   |    3 ---
> gcc/testsuite/gfortran.dg/dynamic_dispatch_9.f03   |    3 ---
> .../gfortran.dg/elemental_args_check_2.f90         |    1 -
> .../gfortran.dg/elemental_dependency_2.f90         |    2 --
> .../gfortran.dg/elemental_initializer_1.f90        |    2 --
> .../elemental_non_intrinsic_dummy_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/elemental_pointer_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/elemental_result_1.f90   |    1 -
> .../gfortran.dg/elemental_scalar_args_1.f90        |    1 -
> .../gfortran.dg/elemental_subroutine_1.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_2.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_3.f90         |    3 ---
> .../gfortran.dg/elemental_subroutine_4.f90         |    2 --
> .../gfortran.dg/elemental_subroutine_6.f90         |    1 -
> gcc/testsuite/gfortran.dg/empty_derived_type.f90   |    2 --
> gcc/testsuite/gfortran.dg/entry_1.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_10.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_12.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_13.f90             |    2 --
> gcc/testsuite/gfortran.dg/entry_14.f90             |    2 --
> gcc/testsuite/gfortran.dg/entry_16.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_18.f90             |    1 -
> gcc/testsuite/gfortran.dg/entry_3.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_6.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_7.f90              |    3 ---
> gcc/testsuite/gfortran.dg/entry_9.f90              |    2 --
> gcc/testsuite/gfortran.dg/entry_dummy_ref_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/enum_10.f90              |    2 --
> gcc/testsuite/gfortran.dg/equiv_constraint_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/equiv_constraint_7.f90   |    1 -
> gcc/testsuite/gfortran.dg/error_recovery_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/extends_1.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_10.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_12.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_13.f03           |    2 --
> gcc/testsuite/gfortran.dg/extends_2.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_3.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_4.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_5.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_6.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_7.f03            |    2 --
> gcc/testsuite/gfortran.dg/extends_8.f03            |    1 -
> gcc/testsuite/gfortran.dg/extends_9.f03            |    1 -
> .../gfortran.dg/external_procedures_2.f90          |    1 -
> gcc/testsuite/gfortran.dg/finalize_1.f08           |    2 --
> gcc/testsuite/gfortran.dg/finalize_2.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_3.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_4.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_5.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_6.f90           |    2 --
> gcc/testsuite/gfortran.dg/finalize_7.f03           |    2 --
> gcc/testsuite/gfortran.dg/finalize_8.f03           |    2 --
> gcc/testsuite/gfortran.dg/forall_4.f90             |    1 -
> gcc/testsuite/gfortran.dg/forall_5.f90             |    1 -
> gcc/testsuite/gfortran.dg/func_assign.f90          |    2 --
> gcc/testsuite/gfortran.dg/func_assign_3.f90        |    1 -
> gcc/testsuite/gfortran.dg/func_derived_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_derived_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/func_result_6.f90        |    2 --
> gcc/testsuite/gfortran.dg/function_charlen_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/function_charlen_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/function_kinds_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_kinds_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/function_kinds_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/function_kinds_4.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_optimize_8.f90  |    1 -
> gcc/testsuite/gfortran.dg/function_types_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/function_types_2.f90     |    1 -
> gcc/testsuite/gfortran.dg/generic_1.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_10.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_11.f90           |    3 ---
> gcc/testsuite/gfortran.dg/generic_12.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_13.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_14.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_15.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_16.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_17.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_18.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_19.f90           |    1 -
> gcc/testsuite/gfortran.dg/generic_2.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_20.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_21.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_22.f03           |    1 -
> gcc/testsuite/gfortran.dg/generic_23.f03           |    2 --
> gcc/testsuite/gfortran.dg/generic_24.f90           |    2 --
> gcc/testsuite/gfortran.dg/generic_3.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_4.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_5.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_6.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_7.f90            |    2 --
> gcc/testsuite/gfortran.dg/generic_8.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_9.f90            |    1 -
> gcc/testsuite/gfortran.dg/generic_actual_arg.f90   |    1 -
> .../gfortran.dg/generic_typebound_operator_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/global_references_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/global_vars_c_init.f90   |    2 --
> gcc/testsuite/gfortran.dg/global_vars_f90_init.f90 |    2 --
> .../gfortran.dg/gomp/allocatable_components_1.f90  |    2 --
> .../gfortran.dg/gomp/appendix-a/a.22.4.f90         |    1 -
> .../gfortran.dg/gomp/appendix-a/a.26.2.f90         |    1 -
> .../gfortran.dg/gomp/appendix-a/a.32.1.f90         |    1 -
> .../gfortran.dg/gomp/omp_threadprivate1.f90        |    1 -
> gcc/testsuite/gfortran.dg/gomp/pr35786-1.f90       |    2 --
> gcc/testsuite/gfortran.dg/gomp/reduction3.f90      |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-18.f90       |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-2.f90        |    1 -
> gcc/testsuite/gfortran.dg/graphite/id-21.f         |    2 --
> gcc/testsuite/gfortran.dg/graphite/id-4.f90        |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr37980.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr38953.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr40982.f90     |    2 --
> gcc/testsuite/gfortran.dg/graphite/pr41924.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42050.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42180.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42181.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42185.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42186.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42393-1.f90   |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr42393.f90     |    1 -
> gcc/testsuite/gfortran.dg/graphite/pr45758.f90     |    1 -
> .../gfortran.dg/host_assoc_blockdata_1.f90         |    1 -
> .../gfortran.dg/host_assoc_blockdata_2.f90         |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_2.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_3.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_4.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_5.f90    |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_call_6.f90    |    1 -
> .../gfortran.dg/host_assoc_function_1.f90          |    1 -
> .../gfortran.dg/host_assoc_function_2.f90          |    1 -
> .../gfortran.dg/host_assoc_function_3.f90          |    1 -
> .../gfortran.dg/host_assoc_function_4.f90          |    1 -
> .../gfortran.dg/host_assoc_function_5.f90          |    1 -
> .../gfortran.dg/host_assoc_function_6.f90          |    2 --
> .../gfortran.dg/host_assoc_function_7.f90          |    2 --
> .../gfortran.dg/host_assoc_function_9.f90          |    2 --
> gcc/testsuite/gfortran.dg/host_assoc_types_1.f90   |    1 -
> gcc/testsuite/gfortran.dg/host_assoc_types_2.f90   |    1 -
> .../gfortran.dg/host_assoc_variable_1.f90          |    1 -
> gcc/testsuite/gfortran.dg/host_used_types_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/implicit_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/implicit_10.f90          |    1 -
> gcc/testsuite/gfortran.dg/implicit_11.f90          |    2 --
> gcc/testsuite/gfortran.dg/implicit_12.f90          |    2 --
> gcc/testsuite/gfortran.dg/implicit_2.f90           |    2 --
> gcc/testsuite/gfortran.dg/implicit_actual.f90      |    2 --
> .../gfortran.dg/implicit_derived_type_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/implicit_pure_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/implicit_pure_2.f90      |    1 -
> gcc/testsuite/gfortran.dg/import.f90               |    1 -
> gcc/testsuite/gfortran.dg/import2.f90              |    1 -
> gcc/testsuite/gfortran.dg/import4.f90              |    1 -
> gcc/testsuite/gfortran.dg/import5.f90              |    1 -
> gcc/testsuite/gfortran.dg/import7.f90              |    3 ---
> gcc/testsuite/gfortran.dg/impure_1.f08             |    2 --
> gcc/testsuite/gfortran.dg/impure_2.f08             |    2 --
> gcc/testsuite/gfortran.dg/impure_actual_1.f90      |    3 ---
> gcc/testsuite/gfortran.dg/impure_assignment_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/impure_assignment_2.f90  |    2 --
> gcc/testsuite/gfortran.dg/impure_constructor_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/impure_spec_expr_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/initialization_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/initialization_10.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_12.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_19.f90    |    2 --
> gcc/testsuite/gfortran.dg/initialization_23.f90    |    3 ---
> gcc/testsuite/gfortran.dg/inquire_11.f90           |    1 -
> gcc/testsuite/gfortran.dg/int_1.f90                |    2 --
> gcc/testsuite/gfortran.dg/int_2.f90                |    1 -
> .../gfortran.dg/integer_exponentiation_3.F90       |    2 --
> .../gfortran.dg/integer_exponentiation_5.F90       |    2 --
> gcc/testsuite/gfortran.dg/intent_out_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/intent_out_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/intent_out_6.f90         |    2 --
> gcc/testsuite/gfortran.dg/intent_used_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/interface_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_10.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_11.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_12.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_13.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_14.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_15.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_16.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_17.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_18.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_19.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_20.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_21.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_22.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_23.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_24.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_25.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_26.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_27.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_28.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_29.f90         |    3 ---
> gcc/testsuite/gfortran.dg/interface_3.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_31.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_32.f90         |    1 -
> gcc/testsuite/gfortran.dg/interface_33.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_35.f90         |    2 --
> gcc/testsuite/gfortran.dg/interface_4.f90          |    1 -
> gcc/testsuite/gfortran.dg/interface_5.f90          |    1 -
> gcc/testsuite/gfortran.dg/interface_7.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_8.f90          |    2 --
> gcc/testsuite/gfortran.dg/interface_9.f90          |    3 ---
> .../gfortran.dg/interface_assignment_1.f90         |    1 -
> .../gfortran.dg/interface_assignment_2.f90         |    1 -
> .../gfortran.dg/interface_assignment_3.f90         |    2 --
> .../gfortran.dg/interface_assignment_5.f90         |    1 -
> .../gfortran.dg/interface_derived_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/interface_proc_end.f90   |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_2.f08     |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_3.f08     |    2 --
> gcc/testsuite/gfortran.dg/internal_dummy_4.f08     |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_10.f90     |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_12.f90     |    2 --
> gcc/testsuite/gfortran.dg/internal_pack_4.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_6.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_7.f90      |    1 -
> gcc/testsuite/gfortran.dg/internal_pack_8.f90      |    1 -
> .../gfortran.dg/internal_references_1.f90          |    1 -
> .../gfortran.dg/internal_references_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_1.f90          |    3 ---
> gcc/testsuite/gfortran.dg/intrinsic_3.f90          |    3 ---
> gcc/testsuite/gfortran.dg/intrinsic_shadow_1.f03   |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_shadow_2.f03   |    2 --
> gcc/testsuite/gfortran.dg/intrinsic_shadow_3.f03   |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/io_constraints_7.f03     |    2 --
> .../gfortran.dg/iso_c_binding_compiler_3.f90       |    2 --
> .../gfortran.dg/iso_c_binding_compiler_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/iso_c_binding_only.f03   |    2 --
> .../gfortran.dg/iso_c_binding_rename_1.f03         |    2 --
> .../gfortran.dg/iso_c_binding_rename_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/iso_fortran_env_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/iso_fortran_env_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/iso_fortran_env_4.f90    |    1 -
> gcc/testsuite/gfortran.dg/kind_tests_2.f03         |    2 --
> gcc/testsuite/gfortran.dg/kind_tests_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/large_integer_kind_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/large_real_kind_1.f90    |    2 --
> gcc/testsuite/gfortran.dg/ldist-pr43023.f90        |    2 --
> gcc/testsuite/gfortran.dg/lto/20100222-1_0.f03     |    1 -
> gcc/testsuite/gfortran.dg/lto/pr40725_0.f03        |    2 --
> gcc/testsuite/gfortran.dg/lto/pr45586-2_0.f90      |    2 --
> gcc/testsuite/gfortran.dg/lto/pr45586_0.f90        |    2 --
> gcc/testsuite/gfortran.dg/lto/pr47839_0.f90        |    2 --
> gcc/testsuite/gfortran.dg/mapping_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/mapping_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/maxloc_bounds_4.f90      |    2 --
> gcc/testsuite/gfortran.dg/maxloc_bounds_5.f90      |    1 -
> gcc/testsuite/gfortran.dg/maxloc_bounds_7.f90      |    1 -
> .../gfortran.dg/missing_derived_type_1.f90         |    1 -
> .../gfortran.dg/missing_optional_dummy_2.f90       |    2 --
> .../gfortran.dg/missing_optional_dummy_4.f90       |    2 --
> .../gfortran.dg/missing_optional_dummy_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/module_blank_common.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_commons_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_commons_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_commons_3.f90     |    1 -
> gcc/testsuite/gfortran.dg/module_double_reuse.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_2.f90 |    1 -
> gcc/testsuite/gfortran.dg/module_equivalence_3.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_4.f90 |    2 --
> gcc/testsuite/gfortran.dg/module_equivalence_5.f90 |    3 ---
> gcc/testsuite/gfortran.dg/module_equivalence_6.f90 |    1 -
> .../gfortran.dg/module_function_type_1.f90         |    3 ---
> .../gfortran.dg/module_implicit_conversion.f90     |    2 --
> gcc/testsuite/gfortran.dg/module_interface_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/module_interface_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/module_md5_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/module_naming_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/module_nan.f90           |    2 --
> .../gfortran.dg/module_parameter_array_refs_1.f90  |    2 --
> .../gfortran.dg/module_parameter_array_refs_2.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_private_1.f90     |    2 --
> .../gfortran.dg/module_private_array_refs_1.f90    |    2 --
> .../gfortran.dg/module_proc_external_dummy.f90     |    1 -
> gcc/testsuite/gfortran.dg/module_procedure_1.f90   |    1 -
> .../module_procedure_double_colon_1.f90            |    1 -
> .../module_procedure_double_colon_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/module_read_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/module_read_2.f90        |    2 --
> gcc/testsuite/gfortran.dg/module_widestring_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/module_write_1.f90       |    1 -
> gcc/testsuite/gfortran.dg/move_alloc_10.f90        |    2 --
> gcc/testsuite/gfortran.dg/move_alloc_8.f90         |    2 --
> gcc/testsuite/gfortran.dg/move_alloc_9.f90         |    2 --
> gcc/testsuite/gfortran.dg/mvbits_6.f90             |    1 -
> gcc/testsuite/gfortran.dg/named_interface.f90      |    2 --
> gcc/testsuite/gfortran.dg/namelist_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/namelist_14.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_15.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_33.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_34.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_36.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_4.f90           |    1 -
> gcc/testsuite/gfortran.dg/namelist_40.f90          |    1 -
> gcc/testsuite/gfortran.dg/namelist_47.f90          |    1 -
> gcc/testsuite/gfortran.dg/namelist_52.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_62.f90          |    2 --
> gcc/testsuite/gfortran.dg/namelist_use.f90         |    2 --
> gcc/testsuite/gfortran.dg/namelist_use_only.f90    |    2 --
> gcc/testsuite/gfortran.dg/nan_1.f90                |    2 --
> gcc/testsuite/gfortran.dg/nan_2.f90                |    1 -
> gcc/testsuite/gfortran.dg/nested_forall_1.f        |    1 -
> gcc/testsuite/gfortran.dg/nested_modules_1.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_3.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_5.f90     |    2 --
> gcc/testsuite/gfortran.dg/nested_modules_6.f90     |    1 -
> gcc/testsuite/gfortran.dg/operator_1.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_2.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_4.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_6.f90           |    1 -
> gcc/testsuite/gfortran.dg/operator_7.f90           |    2 --
> gcc/testsuite/gfortran.dg/operator_c1202.f90       |    2 --
> .../gfortran.dg/optional_assumed_charlen_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/optional_dim_3.f90       |    1 -
> gcc/testsuite/gfortran.dg/overload_1.f90           |    1 -
> .../gfortran.dg/parameter_array_init_3.f90         |    1 -
> .../gfortran.dg/parameter_array_init_5.f90         |    1 -
> .../gfortran.dg/parameter_array_section_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/parens_5.f90             |    2 --
> gcc/testsuite/gfortran.dg/parens_7.f90             |    2 --
> gcc/testsuite/gfortran.dg/parent_result_ref_4.f90  |    2 --
> gcc/testsuite/gfortran.dg/pointer_check_6.f90      |    3 ---
> gcc/testsuite/gfortran.dg/pointer_check_7.f90      |    2 --
> gcc/testsuite/gfortran.dg/pointer_comp_init_1.f90  |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_5.f90       |    2 --
> gcc/testsuite/gfortran.dg/pointer_init_6.f90       |    2 --
> gcc/testsuite/gfortran.dg/pr15164.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr16861.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr17615.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr19926.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr21177.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr25923.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr26246_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/pr32222.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32238.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32242.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr32535.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr32601.f03              |    1 -
> gcc/testsuite/gfortran.dg/pr32738.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr32921.f                |    1 -
> gcc/testsuite/gfortran.dg/pr33646.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr33794.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr37286.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr37287-1.f90            |    2 --
> gcc/testsuite/gfortran.dg/pr37287-2.F90            |    1 -
> gcc/testsuite/gfortran.dg/pr41347.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr41928.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr42051.f03              |    2 --
> gcc/testsuite/gfortran.dg/pr42119.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr42166.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr43505.f90              |    3 ---
> gcc/testsuite/gfortran.dg/pr43793.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr43866.f90              |    2 --
> gcc/testsuite/gfortran.dg/pr43984.f90              |    1 -
> gcc/testsuite/gfortran.dg/pr50875.f90              |    2 --
> gcc/testsuite/gfortran.dg/present_1.f90            |    1 -
> gcc/testsuite/gfortran.dg/private_type_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_10.f90      |    2 --
> gcc/testsuite/gfortran.dg/private_type_11.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_12.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_13.f90      |    1 -
> gcc/testsuite/gfortran.dg/private_type_14.f90      |    2 --
> gcc/testsuite/gfortran.dg/private_type_2.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_3.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_4.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_5.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_6.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_7.f90       |    1 -
> gcc/testsuite/gfortran.dg/private_type_8.f90       |    2 --
> gcc/testsuite/gfortran.dg/private_type_9.f90       |    1 -
> gcc/testsuite/gfortran.dg/proc_assign_1.f90        |    1 -
> gcc/testsuite/gfortran.dg/proc_assign_2.f90        |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_10.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_12.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_13.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_17.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_18.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_20.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_23.f90         |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_27.f90         |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_5.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_decl_7.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_decl_8.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_1.f90           |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_10.f90          |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_13.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_20.f90          |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_22.f90          |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_26.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_27.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_28.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_29.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_33.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_34.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_36.f90          |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_8.f90           |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_10.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_12.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_15.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_16.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_17.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_22.f90     |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_comp_23.f90     |    1 -
> gcc/testsuite/gfortran.dg/proc_ptr_comp_31.f90     |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_32.f90     |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_33.f90     |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_4.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_6.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_7.f90      |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_1.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_2.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_4.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_5.f90 |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_6.f90 |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_comp_pass_7.f90 |    2 --
> gcc/testsuite/gfortran.dg/proc_ptr_result_1.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_2.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_3.f90    |    3 ---
> gcc/testsuite/gfortran.dg/proc_ptr_result_6.f90    |    3 ---
> gcc/testsuite/gfortran.dg/procedure_lvalue.f90     |    2 --
> gcc/testsuite/gfortran.dg/protected_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_2.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_4.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_5.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_6.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_7.f90          |    2 --
> gcc/testsuite/gfortran.dg/protected_8.f90          |    2 --
> .../gfortran.dg/public_private_module.f90          |    1 -
> gcc/testsuite/gfortran.dg/pure_byref_3.f90         |    2 --
> gcc/testsuite/gfortran.dg/pure_formal_proc_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/pure_initializer_2.f90   |    1 -
> gcc/testsuite/gfortran.dg/realloc_on_assign_13.f90 |    2 --
> gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03  |    3 ---
> gcc/testsuite/gfortran.dg/realloc_on_assign_6.f03  |    3 ---
> gcc/testsuite/gfortran.dg/realloc_on_assign_9.f90  |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_12.f90   |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_13.f90   |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_3.f90    |    1 -
> gcc/testsuite/gfortran.dg/recursive_check_4.f03    |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_5.f03    |    2 --
> gcc/testsuite/gfortran.dg/recursive_check_6.f03    |    2 --
> .../gfortran.dg/recursive_reference_2.f90          |    2 --
> .../gfortran.dg/redefined_intrinsic_assignment.f90 |    1 -
> .../redefined_intrinsic_assignment_2.f90           |    2 --
> gcc/testsuite/gfortran.dg/reshape_2.f90            |    1 -
> gcc/testsuite/gfortran.dg/reshape_zerosize_3.f90   |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_1.f90     |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_2.f90     |    1 -
> gcc/testsuite/gfortran.dg/result_in_spec_4.f90     |    2 --
> gcc/testsuite/gfortran.dg/same_name_1.f90          |    2 --
> gcc/testsuite/gfortran.dg/same_name_2.f90          |    1 -
> gcc/testsuite/gfortran.dg/save_3.f90               |    2 --
> gcc/testsuite/gfortran.dg/save_parameter.f90       |    2 --
> gcc/testsuite/gfortran.dg/select_type_10.f03       |    2 --
> gcc/testsuite/gfortran.dg/select_type_15.f03       |    3 ---
> gcc/testsuite/gfortran.dg/select_type_16.f03       |    3 ---
> gcc/testsuite/gfortran.dg/select_type_18.f03       |    2 --
> gcc/testsuite/gfortran.dg/select_type_4.f90        |    1 -
> gcc/testsuite/gfortran.dg/sequence_types_1.f90     |    1 -
> .../gfortran.dg/sibling_dummy_procedure_1.f90      |    2 --
> .../gfortran.dg/sibling_dummy_procedure_2.f90      |    2 --
> .../gfortran.dg/sibling_dummy_procedure_3.f90      |    2 --
> gcc/testsuite/gfortran.dg/simplify_argN_1.f90      |    1 -
> gcc/testsuite/gfortran.dg/spec_expr_4.f90          |    1 -
> gcc/testsuite/gfortran.dg/spec_expr_6.f90          |    2 --
> .../specification_type_resolution_1.f90            |    1 -
> .../specification_type_resolution_2.f90            |    2 --
> gcc/testsuite/gfortran.dg/stfunc_5.f90             |    3 ---
> gcc/testsuite/gfortran.dg/string_compare_2.f90     |    2 --
> .../gfortran.dg/structure_constructor_10.f90       |    3 ---
> .../gfortran.dg/structure_constructor_8.f03        |    1 -
> gcc/testsuite/gfortran.dg/substr_1.f90             |    2 --
> .../gfortran.dg/substring_equivalence.f90          |    2 --
> gcc/testsuite/gfortran.dg/test_com_block.f90       |    2 --
> .../gfortran.dg/test_common_binding_labels.f03     |    2 --
> gcc/testsuite/gfortran.dg/test_only_clause.f90     |    2 --
> .../gfortran.dg/transfer_assumed_size_1.f90        |    2 --
> gcc/testsuite/gfortran.dg/transfer_intrinsic_3.f90 |    1 -
> .../gfortran.dg/transpose_optimization_1.f90       |    1 -
> .../gfortran.dg/transpose_optimization_2.f90       |    1 -
> gcc/testsuite/gfortran.dg/trim_optimize_2.f90      |    1 -
> gcc/testsuite/gfortran.dg/trim_optimize_6.f90      |    2 --
> gcc/testsuite/gfortran.dg/type_decl_1.f90          |    2 --
> .../gfortran.dg/typebound_assignment_1.f03         |    2 --
> .../gfortran.dg/typebound_assignment_2.f03         |    2 --
> .../gfortran.dg/typebound_assignment_3.f03         |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_1.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_10.f03    |    3 ---
> gcc/testsuite/gfortran.dg/typebound_call_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_12.f03    |    1 -
> gcc/testsuite/gfortran.dg/typebound_call_13.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_14.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_15.f03    |    1 -
> gcc/testsuite/gfortran.dg/typebound_call_16.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_17.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_18.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_19.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_2.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_20.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_21.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_22.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_3.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_5.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_call_9.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_1.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_10.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_11.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_2.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_3.f03  |    1 -
> gcc/testsuite/gfortran.dg/typebound_generic_4.f03  |    1 -
> gcc/testsuite/gfortran.dg/typebound_generic_5.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_6.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_7.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_8.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_generic_9.f03  |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_1.f03 |    2 --
> .../gfortran.dg/typebound_operator_10.f03          |    1 -
> .../gfortran.dg/typebound_operator_11.f90          |    2 --
> .../gfortran.dg/typebound_operator_12.f03          |    2 --
> .../gfortran.dg/typebound_operator_13.f03          |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_2.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_3.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_4.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_5.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_6.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_7.f03 |    2 --
> gcc/testsuite/gfortran.dg/typebound_operator_8.f03 |    1 -
> gcc/testsuite/gfortran.dg/typebound_operator_9.f03 |    1 -
> gcc/testsuite/gfortran.dg/typebound_override_1.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_override_2.f90 |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_1.f08     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_10.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_11.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_13.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_14.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_15.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_16.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_17.f03    |    3 ---
> gcc/testsuite/gfortran.dg/typebound_proc_18.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_19.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_2.f90     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_20.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_21.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_22.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_23.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_24.f03    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_25.f90    |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_3.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_4.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_5.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_6.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_7.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_8.f03     |    2 --
> gcc/testsuite/gfortran.dg/typebound_proc_9.f03     |    2 --
> .../gfortran.dg/unreferenced_use_assoc_1.f90       |    1 -
> .../gfortran.dg/unused_artificial_dummies_1.f90    |    1 -
> gcc/testsuite/gfortran.dg/use_1.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_10.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_11.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_12.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_13.f90               |    1 -
> gcc/testsuite/gfortran.dg/use_14.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_15.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_16.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_17.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_18.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_19.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_20.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_21.f90               |    2 --
> gcc/testsuite/gfortran.dg/use_3.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_4.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_5.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_6.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_7.f90                |    2 --
> gcc/testsuite/gfortran.dg/use_9.f90                |    1 -
> gcc/testsuite/gfortran.dg/use_allocated_1.f90      |    2 --
> gcc/testsuite/gfortran.dg/use_iso_c_binding.f90    |    2 --
> gcc/testsuite/gfortran.dg/use_only_1.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_2.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_3.f90           |    4 ----
> gcc/testsuite/gfortran.dg/use_only_4.f90           |    1 -
> gcc/testsuite/gfortran.dg/use_only_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/use_rename_1.f90         |    1 -
> gcc/testsuite/gfortran.dg/use_rename_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/use_rename_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/use_rename_4.f90         |    2 --
> gcc/testsuite/gfortran.dg/use_rename_5.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_before_typed_3.f90  |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_2.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_3.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_4.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_5.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_6.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_dummy_types_7.f90   |    1 -
> gcc/testsuite/gfortran.dg/used_dummy_types_8.f90   |    1 -
> gcc/testsuite/gfortran.dg/used_interface_ref.f90   |    2 --
> gcc/testsuite/gfortran.dg/used_types_1.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_types_10.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_11.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_12.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_13.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_14.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_15.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_16.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_17.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_2.f90         |    2 --
> gcc/testsuite/gfortran.dg/used_types_20.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_22.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_23.f90        |    1 -
> gcc/testsuite/gfortran.dg/used_types_24.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_25.f90        |    3 ---
> gcc/testsuite/gfortran.dg/used_types_26.f90        |    2 --
> gcc/testsuite/gfortran.dg/used_types_3.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_4.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_5.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_6.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_7.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_8.f90         |    1 -
> gcc/testsuite/gfortran.dg/used_types_9.f90         |    1 -
> gcc/testsuite/gfortran.dg/userdef_operator_1.f90   |    2 --
> gcc/testsuite/gfortran.dg/userdef_operator_2.f90   |    2 --
> gcc/testsuite/gfortran.dg/value_1.f90              |    1 -
> gcc/testsuite/gfortran.dg/value_4.f90              |    1 -
> gcc/testsuite/gfortran.dg/value_6.f03              |    1 -
> .../gfortran.dg/vect/fast-math-real8-pr40801.f90   |    1 -
> .../gfortran.dg/vect/fast-math-vect-8.f90          |    1 -
> gcc/testsuite/gfortran.dg/vect/pr46213.f90         |    1 -
> gcc/testsuite/gfortran.dg/vect/vect-8.f90          |    1 -
> gcc/testsuite/gfortran.dg/vect/vect-gems.f90       |    1 -
> .../gfortran.dg/vector_subscript_bound_1.f90       |    2 --
> gcc/testsuite/gfortran.dg/volatile10.f90           |    1 -
> gcc/testsuite/gfortran.dg/volatile5.f90            |    1 -
> gcc/testsuite/gfortran.dg/volatile9.f90            |    2 --
> .../gfortran.dg/warn_function_without_result_2.f90 |    1 -
> .../gfortran.dg/warn_implicit_procedure_1.f90      |    2 --
> .../gfortran.dg/warn_intent_out_not_set.f90        |    2 --
> gcc/testsuite/gfortran.dg/warn_unused_var_2.f90    |    2 --
> gcc/testsuite/gfortran.dg/warn_unused_var_3.f90    |    2 --
> .../gfortran.dg/where_operator_assign_1.f90        |    2 --
> .../gfortran.dg/where_operator_assign_2.f90        |    2 --
> .../gfortran.dg/where_operator_assign_3.f90        |    2 --
> .../gfortran.dg/where_operator_assign_4.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_11.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_14.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_15.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_19.f90        |    1 -
> gcc/testsuite/gfortran.dg/whole_file_20.f03        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_21.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_22.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_23.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_24.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_25.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_26.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_27.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_33.f90        |    2 --
> gcc/testsuite/gfortran.dg/whole_file_35.f90        |    2 --
> gcc/testsuite/gfortran.dg/widechar_5.f90           |    2 --
> gcc/testsuite/gfortran.dg/widechar_6.f90           |    2 --
> 962 files changed, 0 insertions(+), 1646 deletions(-)
>
>-- 
>1.7.9.1
>

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: PING Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-13 10:51                                 ` PING " Bernhard Reutner-Fischer
@ 2012-04-13 13:58                                   ` Mike Stump
  2012-04-13 14:40                                     ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Mike Stump @ 2012-04-13 13:58 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: fortran, gcc-patches

On Apr 13, 2012, at 3:51 AM, Bernhard Reutner-Fischer wrote:
> Ping.

Before advancing, has the problem that Rainer pointed out on March 19th with your earlier patch been fixed?

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-03 12:17                             ` [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2 Bernhard Reutner-Fischer
  2012-04-03 12:58                               ` Bernhard Reutner-Fischer
@ 2012-04-13 14:15                               ` Mike Stump
  1 sibling, 0 replies; 31+ messages in thread
From: Mike Stump @ 2012-04-13 14:15 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: fortran, gcc-patches

On Apr 3, 2012, at 5:16 AM, Bernhard Reutner-Fischer wrote:
> The second part of implicitly doing cleanup-modules is to remove the now
> superfluous dg-final directives.

Ok once the issue Rainer pointed out is addressed.  As for the ChangeLog, I'd be tempted to list them as:

	* gfortran.dg/*.f90: Remove now redundant manual
	  cleanup-modules directive.

I think that strikes a reasonable balance.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: PING Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-13 13:58                                   ` Mike Stump
@ 2012-04-13 14:40                                     ` Bernhard Reutner-Fischer
  2012-04-13 20:09                                       ` Mike Stump
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-04-13 14:40 UTC (permalink / raw)
  To: Mike Stump; +Cc: fortran, gcc-patches

On Fri, Apr 13, 2012 at 06:57:44AM -0700, Mike Stump wrote:
>On Apr 13, 2012, at 3:51 AM, Bernhard Reutner-Fischer wrote:
>> Ping.
>
>Before advancing, has the problem that Rainer pointed out on March 19th with your earlier patch been fixed?

I believe that it is fixed, yes. See r185688 and my follow up to him (
http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01498.html )

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: PING Re: [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2
  2012-04-13 14:40                                     ` Bernhard Reutner-Fischer
@ 2012-04-13 20:09                                       ` Mike Stump
  0 siblings, 0 replies; 31+ messages in thread
From: Mike Stump @ 2012-04-13 20:09 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: fortran, gcc-patches

On Apr 13, 2012, at 7:39 AM, Bernhard Reutner-Fischer wrote:
> On Fri, Apr 13, 2012 at 06:57:44AM -0700, Mike Stump wrote:
>> On Apr 13, 2012, at 3:51 AM, Bernhard Reutner-Fischer wrote:
>>> Ping.
>> 
>> Before advancing, has the problem that Rainer pointed out on March 19th with your earlier patch been fixed?
> 
> I believe that it is fixed, yes. See r185688 and my follow up to him (
> http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01498.html )

Hum, somehow I missed that... Thanks, I was hoping I just missed it.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-16 15:00                         ` Bernhard Reutner-Fischer
@ 2012-06-29  0:15                           ` Bernhard Reutner-Fischer
  2012-06-29  0:55                             ` Mike Stump
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-06-29  0:15 UTC (permalink / raw)
  To: Janis Johnson; +Cc: Mike Stump, gcc-patches, ro

Rehi Janis,

Good to see you active again :)

Perhaps you want to pursue this? We'd need to suggest this to dejagnu,
have it in a release and bump the minimum required deja version of gcc.
So it may take time but IMO would be a worthwhile cleanup.
Or do you see a better way to handle this properly?

The first patch below is the dejagnu part, the other patch is the
corresponding follow-up for gcc.

cheers,
Bernhard

On Fri, Mar 16, 2012 at 03:59:58PM +0100, Bernhard Reutner-Fischer wrote:
>On Fri, Mar 16, 2012 at 11:04:45AM +0100, Bernhard Reutner-Fischer wrote:
>
>>The underlying problem is that dejagnu's runtest.exp only allows for a
>>single "libdir" where it searches for includes -- see comment in
>>libgomp.exp and libitm.exp
>>
>>While just adding more and more load_gcc_lib calls to users outside of
>>gcc/ is the easy way out, it is (IMHO) error prone (i ran make check
>>just in gcc and not in toplevel, fixed my script now).
>>
>>It would be desirable if dejagnu would just find all the currently
>>load_gcc_lib'ed files on its own, via load_lib.
>>One could
>>- teach dejagnu to treat libdir as a list of paths
>
>The attached works for me for a toplevel make -k check (double-checked
>with individual make check in lib{gomp,itm}). I do not intend to pursue
>this any further.

>runtest.exp: add libdirs list for load_lib()
>
>libgomp wants to load .exp files from ../gcc/testsuite/lib.
>Instrument load_lib to be able to find the files.
>Previously we used to have a helper proc that had to first load all
>dependent .exp manually and then, again manually, the desired .exp.
>
>2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
>
>	* runtest.exp (libdirs): New global list.
>	(load_lib): Append libdirs to search_and_load_files directories.
>
>diff --git a/runtest.exp b/runtest.exp
>index 4bfed83..8e6a7de 100644
>--- a/runtest.exp
>+++ b/runtest.exp
>@@ -589,7 +589,7 @@ proc lookfor_file { dir name } {
> # source tree, (up one or two levels), then in the current dir.
> #
> proc load_lib { file } {
>-    global verbose libdir srcdir base_dir execpath tool
>+    global verbose libdir libdirs srcdir base_dir execpath tool
>     global loaded_libs
> 
>     if {[info exists loaded_libs($file)]} {
>@@ -597,8 +597,11 @@ proc load_lib { file } {
>     }
> 
>     set loaded_libs($file) ""
>-
>-    if { [search_and_load_file "library file" $file [list ../lib $libdir $libdir/lib [file dirname [file dirname $srcdir]]/dejagnu/lib $srcdir/lib $execpath/lib . [file dirname [file dirname [file dirname $srcdir]]]/dejagnu/lib]] == 0 } {
>+    set search_dirs [list ../lib $libdir $libdir/lib [file dirname [file dirname $srcdir]]/dejagnu/lib $srcdir/lib $execpath/lib . [file dirname [file dirname [file dirname $srcdir]]]/dejagnu/lib]
>+    if {[info exists libdirs]} {
>+        lappend search_dirs $libdirs
>+    }
>+    if { [search_and_load_file "library file" $file $search_dirs ] == 0 } {
> 	send_error "ERROR: Couldn't find library file $file.\n"
> 	exit 1
>     }
>@@ -652,6 +655,8 @@ set libdir   [file dirname $execpath]/dejagnu
> if {[info exists env(DEJAGNULIBS)]} {
>     set libdir $env(DEJAGNULIBS)
> }
>+# list of extra directories for load_lib
>+set libdirs {}
> 
> verbose "Using $libdir to find libraries"
> 

>libgomp/ChangeLog
>
>2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
>
>	* testsuite/lib/libgomp.exp: Set libdirs. Remove now redundant
>	manual inclusion of gfortran-dg's dependencies.
>
>libitm/ChangeLog
>
>2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
>
>	* testsuite/lib/libitm.exp: Set libdirs. Remove now redundant
>	manual inclusion of gcc-dg's dependencies.
>
>
>diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp
>index 02909f8..54e1e652 100644
>--- a/libgomp/testsuite/lib/libgomp.exp
>+++ b/libgomp/testsuite/lib/libgomp.exp
>@@ -1,32 +1,12 @@
>-# Damn dejagnu for not having proper library search paths for load_lib.
>-# We have to explicitly load everything that gcc-dg.exp wants to load.
>+global libdirs
>+lappend libdirs $srcdir/../../gcc/testsuite/lib
> 
>-proc load_gcc_lib { filename } {
>-    global srcdir loaded_libs
>+load_lib dg.exp
> 
>-    load_file $srcdir/../../gcc/testsuite/lib/$filename
>-    set loaded_libs($filename) ""
>-}
>+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!
>+load_lib gcc-defs.exp
> 
>-load_lib dg.exp
>-load_gcc_lib file-format.exp
>-load_gcc_lib target-supports.exp
>-load_gcc_lib target-supports-dg.exp
>-load_gcc_lib scanasm.exp
>-load_gcc_lib scandump.exp
>-load_gcc_lib scanrtl.exp
>-load_gcc_lib scantree.exp
>-load_gcc_lib scanipa.exp
>-load_gcc_lib prune.exp
>-load_gcc_lib target-libpath.exp
>-load_gcc_lib wrapper.exp
>-load_gcc_lib gcc-defs.exp
>-load_gcc_lib torture-options.exp
>-load_gcc_lib timeout.exp
>-load_gcc_lib timeout-dg.exp
>-load_gcc_lib fortran-modules.exp
>-load_gcc_lib gcc-dg.exp
>-load_gcc_lib gfortran-dg.exp
>+load_lib gfortran-dg.exp
> 
> set dg-do-what-default run
> 
>diff --git a/libitm/testsuite/lib/libitm.exp b/libitm/testsuite/lib/libitm.exp
>index f322ed5..1ac8f31 100644
>--- a/libitm/testsuite/lib/libitm.exp
>+++ b/libitm/testsuite/lib/libitm.exp
>@@ -12,34 +12,15 @@
> # along with this program; if not, write to the Free Software
> # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
> 
>-# Damn dejagnu for not having proper library search paths for load_lib.
>-# We have to explicitly load everything that gcc-dg.exp wants to load.
>+global libdirs
>+lappend libdirs $srcdir/../../gcc/testsuite/lib
> 
>-proc load_gcc_lib { filename } {
>-    global srcdir loaded_libs
>+load_lib dg.exp
> 
>-    load_file $srcdir/../../gcc/testsuite/lib/$filename
>-    set loaded_libs($filename) ""
>-}
>+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!
>+load_lib gcc-defs.exp
> 
>-load_lib dg.exp
>-load_gcc_lib file-format.exp
>-load_gcc_lib target-supports.exp
>-load_gcc_lib target-supports-dg.exp
>-load_gcc_lib scanasm.exp
>-load_gcc_lib scandump.exp
>-load_gcc_lib scanrtl.exp
>-load_gcc_lib scantree.exp
>-load_gcc_lib scanipa.exp
>-load_gcc_lib prune.exp
>-load_gcc_lib target-libpath.exp
>-load_gcc_lib wrapper.exp
>-load_gcc_lib gcc-defs.exp
>-load_gcc_lib torture-options.exp
>-load_gcc_lib timeout.exp
>-load_gcc_lib timeout-dg.exp
>-load_gcc_lib fortran-modules.exp
>-load_gcc_lib gcc-dg.exp
>+load_lib gcc-dg.exp
> 
> set dg-do-what-default run
> 

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-06-29  0:15                           ` Bernhard Reutner-Fischer
@ 2012-06-29  0:55                             ` Mike Stump
  2012-06-29  0:56                               ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Mike Stump @ 2012-06-29  0:55 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Janis Johnson, gcc-patches, ro

On Jun 28, 2012, at 3:27 PM, Bernhard Reutner-Fischer wrote:
> Perhaps you want to pursue this? We'd need to suggest this to dejagnu,

Actually, we have the technology, so that isn't necessary.  :-)  You can install replacements for any procs you want, not pretty, but... it does work.  I think this is a more deterministic path forward than waiting for a mythical dejagnu release.  Also, we then can avoid the hassle of requiring a new dejagnu.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-06-29  0:55                             ` Mike Stump
@ 2012-06-29  0:56                               ` Bernhard Reutner-Fischer
  2012-06-29  5:43                                 ` Mike Stump
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2012-06-29  0:56 UTC (permalink / raw)
  To: Mike Stump; +Cc: Janis Johnson, gcc-patches, ro

On Thu, Jun 28, 2012 at 04:43:05PM -0700, Mike Stump wrote:
>On Jun 28, 2012, at 3:27 PM, Bernhard Reutner-Fischer wrote:
>> Perhaps you want to pursue this? We'd need to suggest this to dejagnu,
>
>Actually, we have the technology, so that isn't necessary.  :-)  You can install replacements for any procs you want, not pretty, but... it does work.  I think this is a more deterministic path forward than waiting for a mythical dejagnu release.  Also, we then can avoid the hassle of requiring a new dejagnu.

Wouldn't that mean that we have to completely replace proc load_lib?
But anyway.
Mike, it would be nice if you could fix
>+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!

if you did not do that already -- TIA :)

That's under the assumption that one should be able to use the major
lib/*exp without including their pre-requisites first.

cheers,

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-06-29  0:56                               ` Bernhard Reutner-Fischer
@ 2012-06-29  5:43                                 ` Mike Stump
  2013-06-07 14:30                                   ` Bernhard Reutner-Fischer
  0 siblings, 1 reply; 31+ messages in thread
From: Mike Stump @ 2012-06-29  5:43 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Janis Johnson, gcc-patches, ro

On Jun 28, 2012, at 5:15 PM, Bernhard Reutner-Fischer wrote:
> On Thu, Jun 28, 2012 at 04:43:05PM -0700, Mike Stump wrote:
>> On Jun 28, 2012, at 3:27 PM, Bernhard Reutner-Fischer wrote:
>>> Perhaps you want to pursue this? We'd need to suggest this to dejagnu,
>> 
>> Actually, we have the technology, so that isn't necessary.  :-)  You can install replacements for any procs you want, not pretty, but... it does work.  I think this is a more deterministic path forward than waiting for a mythical dejagnu release.  Also, we then can avoid the hassle of requiring a new dejagnu.
> 
> Wouldn't that mean that we have to completely replace proc load_lib?

Yes; worse, it is a cut-n-paste from dejagnu and can effectively rev lock us to the current dejagnu release...  One can delegate, but I don't think any pre or post processing in this case is enough to `fix' the issue, so it would be a wholesale replacement.

> But anyway.
> Mike, it would be nice if you could fix
>> +# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!

Sounds like a single line fix.  It is the testing of that fix that is the annoying part.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-06-29  5:43                                 ` Mike Stump
@ 2013-06-07 14:30                                   ` Bernhard Reutner-Fischer
  2013-06-10 23:21                                     ` Ben Elliston
  0 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2013-06-07 14:30 UTC (permalink / raw)
  To: Mike Stump; +Cc: Janis Johnson, GCC Patches, Ben Elliston

On 29 June 2012 04:59, Mike Stump <mikestump@comcast.net> wrote:
> On Jun 28, 2012, at 5:15 PM, Bernhard Reutner-Fischer wrote:
>> On Thu, Jun 28, 2012 at 04:43:05PM -0700, Mike Stump wrote:
>>> On Jun 28, 2012, at 3:27 PM, Bernhard Reutner-Fischer wrote:
>>>> Perhaps you want to pursue this? We'd need to suggest this to dejagnu,
>>>
>>> Actually, we have the technology, so that isn't necessary.  :-)  You can install replacements for any procs you want, not pretty, but... it does work.  I think this is a more deterministic path forward than waiting for a mythical dejagnu release.  Also, we then can avoid the hassle of requiring a new dejagnu.
>>
>> Wouldn't that mean that we have to completely replace proc load_lib?
>
> Yes; worse, it is a cut-n-paste from dejagnu and can effectively rev lock us to the current dejagnu release...  One can delegate, but I don't think any pre or post processing in this case is enough to `fix' the issue, so it would be a wholesale replacement.

Ben,

Would you accept something like the patch in the message below into dejagnu?
http://gcc.gnu.org/ml/fortran/2012-03/msg00094.html

Above patch was motivated by these (unpleasant) observations:
http://gcc.gnu.org/ml/fortran/2012-03/msg00092.html

thanks,
>
>> But anyway.
>> Mike, it would be nice if you could fix
>>> +# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!
>
> Sounds like a single line fix.  It is the testing of that fix that is the annoying part.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2013-06-07 14:30                                   ` Bernhard Reutner-Fischer
@ 2013-06-10 23:21                                     ` Ben Elliston
  0 siblings, 0 replies; 31+ messages in thread
From: Ben Elliston @ 2013-06-10 23:21 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer; +Cc: Mike Stump, Janis Johnson, GCC Patches

[-- Attachment #1: Type: text/plain, Size: 360 bytes --]

Hi Bernhard,

> Would you accept something like the patch in the message below into dejagnu?
> http://gcc.gnu.org/ml/fortran/2012-03/msg00094.html

Yes, I'm happy to fix this limitation.  However, your patch isn't
complete .. you need to update the documentation, testsuite, etc.
Please send a revised patch to dejagnu@gnu.org and I'll review it.

Cheers, Ben

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2012-03-16 10:05                       ` Bernhard Reutner-Fischer
  2012-03-16 15:00                         ` Bernhard Reutner-Fischer
  2012-03-19 17:36                         ` Rainer Orth
@ 2015-04-23  8:55                         ` Bernhard Reutner-Fischer
  2015-04-29 21:58                           ` Joseph Myers
  2 siblings, 1 reply; 31+ messages in thread
From: Bernhard Reutner-Fischer @ 2015-04-23  8:55 UTC (permalink / raw)
  To: Mike Stump
  Cc: Richard Guenther, Jakub Jelinek, Mikael Morin, GCC Patches, Rainer Orth

On 16 March 2012 at 11:04, Bernhard Reutner-Fischer
<rep.dot.nop@gmail.com> wrote:
> On Thu, Mar 15, 2012 at 08:35:47PM +0100, Jakub Jelinek wrote:
>>On Thu, Mar 15, 2012 at 05:56:32PM +0100, Bernhard Reutner-Fischer wrote:
>>> On Thu, Mar 15, 2012 at 04:57:12PM +0100, Richard Guenther wrote:
>>> >On Thu, Mar 15, 2012 at 1:39 PM, Bernhard Reutner-Fischer
>>> ><rep.dot.nop@gmail.com> wrote:

>>Even with that file in, libgomp and libitm make check still fail,
>>can't find fortran-modules.exp.
>
> I have committed the attached as r185460.
>
> The underlying problem is that dejagnu's runtest.exp only allows for a
> single "libdir" where it searches for includes -- see comment in
> libgomp.exp and libitm.exp
>
> While just adding more and more load_gcc_lib calls to users outside of
> gcc/ is the easy way out, it is (IMHO) error prone (i ran make check
> just in gcc and not in toplevel, fixed my script now).
>
> It would be desirable if dejagnu would just find all the currently
> load_gcc_lib'ed files on its own, via load_lib.
> One could
> - teach dejagnu to treat libdir as a list of paths

I've done the above some time ago, dejagnu >= 1.5.2 has a "libdirs"
variable so i'd like to propose to:

- Bump the required dejagnu version for gcc-6 to (let's say) 1.5.3
- Afterwards apply the GCC part of
https://gcc.gnu.org/ml/gcc-patches/2012-03/msg01169.html
  in essence wiping all load_gcc_lib workarounds from libgomp and
libitm. Oh, and it was copied to
  literally all toplevel libraries by now, it seems, so could be
deleted there too.

What do you think?

PS: I see that gcc-dg.exp still has this bug:
+# BUG: gcc-dg calls gcc-set-multilib-library-path but does not load gcc-defs!

thanks,

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH] gfortran testsuite: implicitly cleanup-modules
  2015-04-23  8:55                         ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
@ 2015-04-29 21:58                           ` Joseph Myers
  0 siblings, 0 replies; 31+ messages in thread
From: Joseph Myers @ 2015-04-29 21:58 UTC (permalink / raw)
  To: Bernhard Reutner-Fischer
  Cc: Mike Stump, Richard Guenther, Jakub Jelinek, Mikael Morin,
	GCC Patches, Rainer Orth

On Thu, 23 Apr 2015, Bernhard Reutner-Fischer wrote:

> I've done the above some time ago, dejagnu >= 1.5.2 has a "libdirs"
> variable so i'd like to propose to:
> 
> - Bump the required dejagnu version for gcc-6 to (let's say) 1.5.3

1.5.2 is only a few months old.  I suggest waiting until a given version 
is widely present in long-term-support GNU/Linux distributions before 
requiring it.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2015-04-29 21:54 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-26 21:40 [patch, testsuite, committed] Clean up gfortran.dg leftover module files Brooks Moses
2007-03-26 21:45 ` FX Coudert
2007-03-27 17:24   ` Bernhard Fischer
2007-03-27 17:29     ` Bernhard Fischer
2012-03-01 21:10       ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
2012-03-09  0:04         ` Mikael Morin
2012-03-13 16:39           ` Bernhard Reutner-Fischer
2012-03-13 20:31             ` Mike Stump
2012-03-15 12:40               ` Bernhard Reutner-Fischer
2012-03-15 15:57                 ` Richard Guenther
2012-03-15 16:56                   ` Bernhard Reutner-Fischer
2012-03-15 19:36                     ` Jakub Jelinek
2012-03-16 10:05                       ` Bernhard Reutner-Fischer
2012-03-16 15:00                         ` Bernhard Reutner-Fischer
2012-06-29  0:15                           ` Bernhard Reutner-Fischer
2012-06-29  0:55                             ` Mike Stump
2012-06-29  0:56                               ` Bernhard Reutner-Fischer
2012-06-29  5:43                                 ` Mike Stump
2013-06-07 14:30                                   ` Bernhard Reutner-Fischer
2013-06-10 23:21                                     ` Ben Elliston
2012-03-19 17:36                         ` Rainer Orth
2012-03-22 12:30                           ` Bernhard Reutner-Fischer
2012-04-03 12:17                             ` [PATCH] gfortran testsuite: implicitly cleanup-modules, part 2 Bernhard Reutner-Fischer
2012-04-03 12:58                               ` Bernhard Reutner-Fischer
2012-04-13 10:51                                 ` PING " Bernhard Reutner-Fischer
2012-04-13 13:58                                   ` Mike Stump
2012-04-13 14:40                                     ` Bernhard Reutner-Fischer
2012-04-13 20:09                                       ` Mike Stump
2012-04-13 14:15                               ` Mike Stump
2015-04-23  8:55                         ` [PATCH] gfortran testsuite: implicitly cleanup-modules Bernhard Reutner-Fischer
2015-04-29 21:58                           ` Joseph Myers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).