[Patch, Fortran + Testsuite] Fix coarray handling in modules

Thomas Schwinge thomas@codesourcery.com
Thu Mar 21 19:34:00 GMT 2019


Hi!

On Thu, 28 Feb 2019 18:02:32 +0100, Thomas Schwinge <thomas@codesourcery.com> wrote:
> On Fri, 02 Jan 2015 12:28:10 +0100, Tobias Burnus <burnus@net-b.de> wrote:
> > [...]
> > 
> > I additionally propagated the dg-compile-aux-modules support to caf.dg 
> 
> That got committed in r219143:
> 
> > --- a/gcc/testsuite/gfortran.dg/coarray/caf.exp
> > +++ b/gcc/testsuite/gfortran.dg/coarray/caf.exp
> > @@ -43,6 +43,21 @@ global DG_TORTURE_OPTIONS torture_with_loops
> >  torture-init
> >  set-torture-options $DG_TORTURE_OPTIONS
> >  
> > +global gfortran_test_path
> > +global gfortran_aux_module_flags
> > +set gfortran_test_path $srcdir/$subdir
> > +set gfortran_aux_module_flags $DEFAULT_FFLAGS
> > +proc dg-compile-aux-modules { args } {
> > +    global gfortran_test_path
> > +    global gfortran_aux_module_flags
> > +    if { [llength $args] != 2 } {
> > +	error "dg-set-target-env-var: needs one argument"
> > +	return
> > +    }
> > +    dg-test $gfortran_test_path/[lindex $args 1] "" $gfortran_aux_module_flags
> > +    # cleanup-modules isn't intentionally invoked here.
> > +}
> 
> I just noticed that this copy is missing Jakub's r215293 changes that he
> had applied a few months *earlier* to the master copy of
> 'dg-compile-aux-modules', in 'gcc/testsuite/gfortran.dg/dg.exp', see
> attached, and/or
> <http://mid.mail-archive.com/20140916093700.GW17454@tucnak.redhat.com>.
> I can't easily test it with the affected DejaGnu version 1.4.4 (which is
> still the minimum version required now), but it tests fine with DejaGnu
> 1.5, and seems straight-forward, so I propose I commit "as obvious" these
> changes to the 'gcc/testsuite/gfortran.dg/coarray/caf.exp' copy, too?
> (It's exactly these changes missing to make the two copies identical.)

For testing GCC with a custom DejaGnu installation, you apparently just
have to put its installation directory into 'PATH'.

Testing with DejaGnu 1.4.4 (specifically, the 'dejagnu-1.4.4-release' Git
tag), one runs into:

    cannot trap SIGSEGV
        while executing
    "trap "send_error \"got a \[trap -name\] signal, $str \\n\"; log_and_exit;" $signal"
        ("foreach" body line 4)
        invoked from within
    "foreach sig "{SIGTERM {terminated}}  {SIGINT  {interrupted by user}}  {SIGQUIT {interrupted by user}}  {SIGSEGV {segmentation violation}}" {
            set sign..."
        invoked from within
    "if ![exp_debug] {
        foreach sig "{SIGTERM {terminated}} \
                 {SIGINT  {interrupted by user}} \
                 {SIGQUIT {interrupted by user}..."
        (file "[...]/share/dejagnu/runtest.exp" line 1503)

This is an incompatibility with "recent" versions of 'expect'; see
<https://bugs.debian.org/301557>, for example, and this is resolved by
DejaGnu commit 504776814fa56295c4cff40d78a1be446f851a7c.


With that resolved, no problems found -- that is, confirming that 15
years old DejaGnu version 1.4.4 still works fine for GCC testing (in my
configuration).


I convinced myself that my proposed changes are the right thing to do,
and committed "[testsuite, Fortran] Apply DejaGnu 1.4.4 work-around also
to 'gfortran.dg/coarray/caf.exp:dg-compile-aux-modules'" to trunk in
r269848, to gcc-8-branch in r269849, and to gcc-7-branch in r269850, see
attached.


> The other copy, created later, in
> 'gcc/testsuite/gcc.target/powerpc/ppc-fortran/ppc-fortran.exp' already
> does exactly match the master copy.
> 
> 
> And then, of course, we really should unify all 'dg-compile-aux-modules'
> copies into one shared file.  (But it's not completely straight-forward,
> because of the handling of 'gfortran_test_path', and
> 'gfortran_aux_module_flags'.)


Grüße
 Thomas


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-testsuite-Fortran-Apply-DejaGnu-1.4.4-work-aro.trunk.patch
Type: text/x-diff
Size: 2215 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190321/e3fa4da8/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-testsuite-Fortran-Apply-DejaGnu-1.4.4-w.gcc-8-branch.patch
Type: text/x-diff
Size: 2246 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190321/e3fa4da8/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-testsuite-Fortran-Apply-DejaGnu-1.4.4-w.gcc-7-branch.patch
Type: text/x-diff
Size: 2246 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190321/e3fa4da8/attachment-0002.bin>


More information about the Gcc-patches mailing list