[Bug middle-end/16417] [4.0 Regression] crappy code (gcc.c-torture/compile/20020210-1.c) in arguments causes ICE

hp at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Dec 16 13:13:00 GMT 2004


------- Additional Comments From hp at gcc dot gnu dot org  2004-12-16 13:12 -------
The patch at <URL:http://gcc.gnu.org/ml/gcc-patches/2004-12/msg01174.html>
works for the test-case but gives regressions for mmix-knuth-mmixware compared
to a pristine "Thu Dec 16 00:49:58 UTC 2004".  I'm not too worried about the
fortran failures (since libgfortran still doesn't cross-compile for 64-bit
newlib targets with further missing functions when that's worked around),
but thought they were worth mentioning because they look easier to diagnose
than the execution failures.  Mike Stump:s contrib/compare_tests script says:

Tests that now fail, but worked before:

g++.dg/other/crash-2.C (test for excess errors)
g++.old-deja/g++.other/incomplete.C  (test for errors, line 14)
g++.old-deja/g++.other/incomplete.C  (test for errors, line 15)
g++.old-deja/g++.other/incomplete.C  (test for errors, line 16)

Tests that now fail, but worked before:

gcc.c-torture/execute/20040703-1.c execution,  -O0
gcc.c-torture/execute/complex-2.c execution,  -O0

Tests that now work, but didn't before:

gcc.c-torture/compile/20020210-1.c  -O1  (test for excess errors)
gcc.c-torture/compile/20020210-1.c  -O2  (test for excess errors)
gcc.c-torture/compile/20020210-1.c  -O3 -fomit-frame-pointer  (test for excess
errors)
gcc.c-torture/compile/20020210-1.c  -O3 -g  (test for excess errors)
gcc.c-torture/compile/20020210-1.c  -Os  (test for excess errors)

Tests that now fail, but worked before:

gfortran.dg/entry_1.f90  -O  (test for excess errors)
gfortran.dg/entry_2.f90  -O  (test for excess errors)
gfortran.dg/g77/19990218-0.f  -O  (test for excess errors)
gfortran.dg/g77/19990218-1.f  -O  (test for excess errors)
gfortran.dg/g77/19990305-0.f  -O  (test for excess errors)
gfortran.dg/g77/19990502-0.f  -O  (test for excess errors)
gfortran.dg/g77/19990502-1.f  -O  (test for excess errors)
gfortran.dg/g77/19990826-3.f  -O  (test for excess errors)
gfortran.dg/g77/19990905-1.f  -O  (test for excess errors)
gfortran.dg/g77/19990905-2.f  -O  (test for excess errors)
gfortran.dg/g77/20000412-1.f  -O  (test for excess errors)
gfortran.dg/g77/20000511-1.f  -O  (test for excess errors)
gfortran.dg/g77/20000511-2.f  -O  (test for excess errors)
gfortran.dg/g77/20000518.f  -O  (test for excess errors)
gfortran.dg/g77/20000601-1.f  -O  (test for excess errors)
gfortran.dg/g77/20000601-2.f  -O  (test for excess errors)
gfortran.dg/g77/20000629-1.f  -O  (test for excess errors)
gfortran.dg/g77/20000630-2.f  -O  (test for excess errors)
gfortran.dg/g77/20010426.f  -O  (test for excess errors)
gfortran.dg/g77/20010519-1.f  -O  (test for excess errors)
gfortran.dg/g77/20030115-1.f  -O  (test for excess errors)
gfortran.dg/g77/970625-2.f  -O  (test for excess errors)
gfortran.dg/g77/980310-2.f  -O  (test for excess errors)
gfortran.dg/g77/980310-2.f  -O  (test for excess errors)
gfortran.dg/g77/980310-3.f  -O  (test for excess errors)
gfortran.dg/g77/980310-4.f  -O  (test for excess errors)
gfortran.dg/g77/980310-6.f  -O  (test for excess errors)
gfortran.dg/g77/980310-7.f  -O  (test for excess errors)
gfortran.dg/g77/980310-8.f  -O  (test for excess errors)
gfortran.dg/g77/980419-2.f  -O  (test for excess errors)
gfortran.dg/g77/980424-0.f  -O  (test for excess errors)
gfortran.dg/g77/980519-2.f  -O  (test for excess errors)
gfortran.dg/g77/980729-0.f  -O  (test for excess errors)
gfortran.dg/g77/990115-1.f  -O  (test for excess errors)
gfortran.dg/g77/cpp.F  -O  (test for excess errors)
gfortran.dg/g77/cpp2.F  -O  (test for excess errors)
gfortran.dg/g77/pr9258.f  -O  (test for excess errors)
gfortran.dg/g77/toon_1.f  -O  (test for excess errors)
gfortran.dg/generic_1.f90  -O  (test for excess errors)
gfortran.dg/generic_2.f90  -O  (test for excess errors)
gfortran.dg/generic_3.f90  -O  (test for excess errors)
gfortran.dg/pr15164.f90  -O  (test for excess errors)
gfortran.dg/pr17615.f90  -O  (test for excess errors)
gfortran.fortran-torture/compile/actual.f90,  "-O"
gfortran.fortran-torture/compile/ambig.f90,  "-O"
gfortran.fortran-torture/compile/contained_1.f90,  "-O"
gfortran.fortran-torture/compile/contained_5.f90,  "-O"
gfortran.fortran-torture/compile/dummyfn.f90,  "-O"
gfortran.fortran-torture/compile/implicit_1.f90,  "-O"
gfortran.fortran-torture/compile/inquiry_1.f90,  "-O"
gfortran.fortran-torture/compile/module_expr.f90,  "-O"
gfortran.fortran-torture/compile/module_proc.f90,  "-O"
gfortran.fortran-torture/compile/strparm_1.f90,  "-O"

g++.log shows:
/gcc/testsuite/g++.dg/other/crash-2.C: In function 'void foo(A)':^M
/home/hp/combined/combined/gcc/testsuite/g++.dg/other/crash-2.C:7: error: 'a'
has incomplete type^M
/gcc/testsuite/g++.dg/other/crash-2.C:6: error: forward declaration of 'struct
A'^M
/gcc/testsuite/g++.dg/other/crash-2.C:7: internal compiler error: Segmentation
fault^M

/gcc/testsuite/g++.old-deja/g++.other/incomplete.C: In function 'void f(S)':^M
/gcc/testsuite/g++.old-deja/g++.other/incomplete.C:10: error: 's' has incomplete
type^M
/gcc/testsuite/g++.old-deja/g++.other/incomplete.C:7: error: forward declaration
of 'struct S'^M
/gcc/testsuite/g++.old-deja/g++.other/incomplete.C: In function 'void f(S)':^M
/gcc/testsuite/g++.old-deja/g++.other/incomplete.C:10: internal compiler error:
Segmentation fault^M

gfortran.log shows:
/gcc/testsuite/gfortran.dg/entry_1.f90: In function 'foo':^M
/gcc/testsuite/gfortran.dg/entry_1.f90:18: internal compiler error: Segmentation
fault^M
and similar for the next four regressions there.
(These tests weren't error tests.)


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16417



More information about the Gcc-bugs mailing list