A binary search has led to the cause of a serious regression on
mainline with gfortran at *all optimization levels (ie., -O0, -O1
and -O2)*.  The problematic commit is

   2005-02-13  Jason Merrill  <[EMAIL PROTECTED]>

        PR mudflap/19319
        * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
        slot explicit.

        PR c++/16405
        * fold-const.c (fold_indirect_ref_1): Split out from...
        (build_fold_indirect_ref): Here.
        (fold_indirect_ref): New fn.
        * tree.h: Declare it.
        * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
        (gimplify_modify_expr_rhs): Likewise.
        (gimplify_expr): Likewise.

troutmask:sgk[271] cvs update -D '2005-02-12 22:45' |& tee sgk.log
troutmask:sgk[274] grep -v "cvs update" sgk.log
C .cvsignore
P gcc/ChangeLog
P gcc/fold-const.c
P gcc/gimplify.c
P gcc/tree.h
M gcc/fortran/check.c
M gcc/fortran/intrinsic.c
M gcc/fortran/intrinsic.h
M gcc/fortran/resolve.c
M gcc/fortran/simplify.c
P gcc/testsuite/ChangeLog
U gcc/testsuite/gcc.dg/pr15784-1.c
U gcc/testsuite/gcc.dg/pr15784-2.c
U gcc/testsuite/gcc.dg/pr15784-3.c
M libgfortran/intrinsics/date_and_time.c

where the 6 gfortran changes do not cause the problem.  If I
use -D '2005-02-12 22:30', which eliminates the above cited
commit, I get a working gfortran.  Additionally, a 'gmake
check-gfortran' with or without this commit shows no new
regressions.

The regression is apparent with the test programs that come
with the implementation of BLAS that accompanies LAPACK from
ftp.netlib.org.  If I use the -D '2005-02-12 22:30' sources,
gfortran produces no failures with the BLAS test programs.
If I use the -D '2005-02-12 22:45' sources, which includes the
above cited commit, I get the following:

troutmask:sgk[280] grep -i fail testing/*out
testing/xblat2c.out: ******* CTRMV  FAILED ON CALL NUMBER:
testing/xblat2c.out: ******* CTBMV  FAILED ON CALL NUMBER:
testing/xblat2c.out: ******* CTPMV  FAILED ON CALL NUMBER:
testing/xblat2c.out: ******* CTRSV  FAILED ON CALL NUMBER:
testing/xblat2c.out: ******* CTBSV  FAILED ON CALL NUMBER:
testing/xblat2c.out: ******* CTPSV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTRMV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTBMV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTPMV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTRSV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTBSV  FAILED ON CALL NUMBER:
testing/xblat2d.out: ******* DTPSV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STRMV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STBMV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STPMV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STRSV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STBSV  FAILED ON CALL NUMBER:
testing/xblat2s.out: ******* STPSV  FAILED ON CALL NUMBER:
testing/xblat2z.out: ******* ZHEMV  FAILED ON CALL NUMBER:
testing/xblat2z.out: ******* ZHBMV  FAILED ON CALL NUMBER:
testing/xblat2z.out: ******* ZHER   FAILED ON CALL NUMBER:
testing/xblat2z.out: ******* ZHPR   FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CGEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CGEMM  FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CHEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CHEMM  FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CSYMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CSYMM  FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CTRMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CTRMM  FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CTRSM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CTRSM  FAILED ON CALL NUMBER:
testing/xblat3c.out: ******* CHERK  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CSYRK  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CHER2K FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3c.out: ******* CSYR2K FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3d.out: ******* DGEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3d.out: ******* DGEMM  FAILED ON CALL NUMBER:
testing/xblat3d.out: ******* DTRMM  FAILED ON CALL NUMBER:
testing/xblat3d.out: ******* DTRSM  FAILED ON CALL NUMBER:
testing/xblat3d.out: ******* DSYRK  FAILED ON CALL NUMBER:
testing/xblat3s.out: ******* SGEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3s.out: ******* STRMM  FAILED ON CALL NUMBER:
testing/xblat3s.out: ******* STRSM  FAILED ON CALL NUMBER:
testing/xblat3s.out: ******* SSYR2K FAILED ON CALL NUMBER:
testing/xblat3z.out: ******* ZGEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZGEMM  FAILED ON CALL NUMBER:
testing/xblat3z.out: ******* ZHEMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZSYMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZTRMM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZTRSM  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZHERK  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZHERK  FAILED ON CALL NUMBER:
testing/xblat3z.out: ******* ZSYRK  FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZSYRK  FAILED ON CALL NUMBER:
testing/xblat3z.out: ******* ZHER2K FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZHER2K FAILED ON CALL NUMBER:
testing/xblat3z.out: ******* ZSYR2K FAILED THE TESTS OF ERROR-EXITS *******
testing/xblat3z.out: ******* ZSYR2K FAILED ON CALL NUMBER:

That is, all level 2 and level 3 BLAS routines exhibit some failures.
This is a major regression.  Please consider reverting the commit.
If reverting is out of the question then please fix the commit, so
gfortran once again functions.

troutmask:sgk[276] gfc -v
Using built-in specs.
Target: amd64-unknown-freebsd6.0
Configured with: /usr/tmp/sgk/gcc/configure --enable-languages=c,f95 \
 --prefix=/usr/tmp/sgk --program-suffix=4 --disable-libmudflap
Thread model: posix
gcc version 4.0.0 20050213 (experimental)

-- 
Steve

Reply via email to