On Tue, Sep 16, 2014 at 10:47:17AM +0200, Jakub Jelinek wrote:
> On Tue, Sep 16, 2014 at 10:42:46AM +0200, Jakub Jelinek wrote:
> > > I'm currently seeing a lot of errors in the log of make -j32 -k check.  
> > > Similar to the ones below.
> > 
> > Weird.  Works just fine for me, on two different boxes,
> > one with dejagnu 1.5 and one with dejagnu 1.5.1.  There is
> > no dg-save-unknown in gfortran.dg/test_common_binding_labels_2_main.f03,
> > but dg-compile-aux-modules and that is defined in gfortran.dg/dg.exp.
> 
> Looking around in gcc-testresults, for some people (e.g. H.J.'s testresults,
> Andreas Schwab ia64, etc.) it works just fine too,
> https://gcc.gnu.org/ml/gcc-testresults/2014-09/msg01551.html
> shows the same symptomps as you report.  What dejagnu version are you using?

Looking at the prehistoric dejagnu 1.4.4 (11 years old), it has
unconditional:
    # But first rename the existing one so we can restore it afterwards.
    catch {rename dg-save-unknown ""}
    rename unknown dg-save-unknown
    proc unknown { args } {
        return -code error "unknown dg option: $args"
    }
in there while 1.5 has:
    # Define our own "special function" `unknown' so we catch spelling
    # errors.
    # But first rename the existing one so we can restore it afterwards.
    if { [info procs dg-save-unknown] == [list] } {
        rename unknown dg-save-unknown
        proc unknown { args } {
            return -code error "unknown dg option: $args"
        }
    }

Does the following patch fix this?  Works for me with dejagnu 1.5.1.

--- gcc/testsuite/gfortran.dg/dg.exp.jj 2014-09-15 21:45:45.000000000 +0200
+++ gcc/testsuite/gfortran.dg/dg.exp    2014-09-16 11:15:26.766004692 +0200
@@ -39,8 +39,18 @@ proc dg-compile-aux-modules { args } {
        error "dg-set-target-env-var: needs one argument"
        return
     }
+
+    set level [info level]
+    if { [info procs dg-save-unknown] != [list] } {
+       rename dg-save-unknown dg-save-unknown-level-$level
+    }
+
     dg-test $gfortran_test_path/[lindex $args 1] "" $gfortran_aux_module_flags
-    # cleanup-modules isn't intentionally invoked here.
+    # cleanup-modules is intentionally not invoked here.
+
+    if { [info procs dg-save-unknown-level-$level] != [list] } {
+       rename dg-save-unknown-level-$level dg-save-unknown
+    }
 }
 
 # Main loop.


        Jakub

Reply via email to