From b4cbc46c32041cf17954de37448c22188bc0bc57 Mon Sep 17 00:00:00 2001 From: Thomas Koenig Date: Sun, 1 Jan 2012 16:27:45 +0000 Subject: [PATCH] backport: re PR fortran/51502 (Potentially wrong code generation due to wrong implict_pure check) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2012-01-01 Thomas König Backport from trunk PR fortran/51502 * lib/gcc-dg.exp (scan-module-absence): New function. * gfortran.dg/implicit_pure_2.f90: New test. From-SVN: r182771 --- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/lib/gcc-dg.exp | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 143c0d1be7d..f48bd72fe46 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2012-01-01 Thomas Koenig + + PR fortran/51502 + * lib/gcc-dg.exp (scan-module-absence): Really commit last + change. + 2012-01-01 Ira Rosen PR tree-optimization/51704 diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index d0b679d7ad6..026a8a96a6c 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -598,6 +598,24 @@ proc scan-module { args } { } } +# Scan Fortran modules for absence of a given regexp. +# +# Argument 0 is the module name +# Argument 1 is the regexp to match +proc scan-module-absence { args } { + set modfilename [string tolower [lindex $args 0]].mod + set fd [open $modfilename r] + set text [read $fd] + close $fd + + upvar 2 name testcase + if [regexp -- [lindex $args 1] $text] { + fail "$testcase scan-module [lindex $args 1]" + } else { + pass "$testcase scan-module [lindex $args 1]" + } +} + # Verify that the compiler output file exists, invoked via dg-final. proc output-exists { args } { # Process an optional target or xfail list.