This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Enable type-checking throughout the compilation
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Diego Novillo <dnovillo at google dot com>
- Date: Thu, 16 Apr 2009 16:50:32 +0200 (CEST)
- Subject: Re: [PATCH] Enable type-checking throughout the compilation
- References: <alpine.LNX.2.00.0904161509050.4801@zhemvz.fhfr.qr>
On Thu, 16 Apr 2009, Richard Guenther wrote:
>
> This patch enables the gimple type checking machinery throughout the
> compilation pipeline (after I have (again) fixed most of the current
> issues).
>
> To pass bootstrap & regtest for all languages the tree-inline.c
> hunk is needed for building libstdc++ (the C++ FE passes void * NULL
> pointers around with the constructor cloning stuff which may need
> fixups - but those do not trigger because the cloned bodies are
> not re-gimplified. This can be removed again after we use the
> inliner for C++ constructor cloning). The verifier hunks for Ada
> can go once Eric succeeds in getting rid of the subtype mess, without
> the hunks the RTS fails to build. The Java part was submitted
> separately and is awaiting review.
>
> There are some remaining ICEs (I will reply to this mail with full
> testresults once they arrive), one OpenMP related, several --combine
> ones (ugh) and one ipa-struct-reorg related one (that one is really
> broken in the way it patches memory references - see the hint in this
> patch).
Here they are.
Richard.
=== acats tests ===
FAIL: c954026
=== acats Summary ===
# of expected passes 2314
# of unexpected failures 1
Native configuration is x86_64-unknown-linux-gnu
=== g++ tests ===
Running target unix/
=== g++ Summary for unix/ ===
# of expected passes 19440
# of expected failures 142
# of unsupported tests 252
Running target unix//-m32
=== g++ Summary for unix//-m32 ===
# of expected passes 19757
# of expected failures 142
# of unsupported tests 102
=== g++ Summary ===
# of expected passes 39197
# of expected failures 284
# of unsupported tests 354
/space/rguenther/obj/gcc/testsuite/g++/../../g++ version 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
=== gcc tests ===
Running target unix/
FAIL: gcc.c-torture/compile/limits-exprparen.c -O0 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O1 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -fomit-frame-pointer (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -g (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -Os (test for excess errors)
XPASS: gcc.dg/Warray-bounds.c (test for warnings, line 59)
XPASS: gcc.dg/Warray-bounds.c (test for warnings, line 65)
FAIL: gcc.dg/c99-stdint-1.c (test for excess errors)
FAIL: gcc.dg/pr34989-1.c (internal compiler error)
FAIL: gcc.dg/pr34989-1.c (test for excess errors)
XPASS: gcc.dg/struct/wo_prof_array_through_pointer.c scan-ipa-dump ipa_struct_reorg "Number of structures to transform is 1"
FAIL: gcc.dg/struct/wo_prof_double_malloc.c (internal compiler error)
FAIL: gcc.dg/struct/wo_prof_double_malloc.c (test for excess errors)
WARNING: gcc.dg/struct/wo_prof_double_malloc.c compilation failed to produce executable
FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE
UNRESOLVED: gcc.dg/tree-prof/bb-reorg.c execution, -fprofile-use -D_PROFILE_USE
FAIL: gcc.dg/tree-prof/pr34999.c compilation, -fprofile-use -D_PROFILE_USE
UNRESOLVED: gcc.dg/tree-prof/pr34999.c execution, -fprofile-use -D_PROFILE_USE
FAIL: gcc.dg/vect/pr32421.c (internal compiler error)
FAIL: gcc.dg/vect/pr32421.c (test for excess errors)
FAIL: gcc.target/i386/pr37101.c (internal compiler error)
FAIL: gcc.target/i386/pr37101.c (test for excess errors)
ERROR: gcc.target/i386/pr37101.c: error executing dg-final: couldn't open "pr37101.s": no such file or directory
UNRESOLVED: gcc.target/i386/pr37101.c: error executing dg-final: couldn't open "pr37101.s": no such file or directory
=== gcc Summary for unix/ ===
# of expected passes 56006
# of unexpected successes 3
# of unexpected failures 17
# of expected failures 147
# of unresolved testcases 3
# of unsupported tests 1302
Running target unix//-m32
FAIL: gcc.c-torture/compile/limits-exprparen.c -O0 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O1 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -fomit-frame-pointer (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -g (test for excess errors)
FAIL: gcc.c-torture/compile/limits-exprparen.c -Os (test for excess errors)
XPASS: gcc.dg/Warray-bounds.c (test for warnings, line 59)
XPASS: gcc.dg/Warray-bounds.c (test for warnings, line 65)
FAIL: gcc.dg/c99-stdint-1.c (test for excess errors)
FAIL: gcc.dg/pr34989-1.c (internal compiler error)
FAIL: gcc.dg/pr34989-1.c (test for excess errors)
XPASS: gcc.dg/struct/wo_prof_array_through_pointer.c scan-ipa-dump ipa_struct_reorg "Number of structures to transform is 1"
FAIL: gcc.dg/struct/wo_prof_double_malloc.c (internal compiler error)
FAIL: gcc.dg/struct/wo_prof_double_malloc.c (test for excess errors)
WARNING: gcc.dg/struct/wo_prof_double_malloc.c compilation failed to produce executable
FAIL: gcc.dg/vect/pr32421.c (internal compiler error)
FAIL: gcc.dg/vect/pr32421.c (test for excess errors)
FAIL: gcc.target/i386/pr37101.c (internal compiler error)
FAIL: gcc.target/i386/pr37101.c (test for excess errors)
ERROR: gcc.target/i386/pr37101.c: error executing dg-final: couldn't open "pr37101.s": no such file or directory
UNRESOLVED: gcc.target/i386/pr37101.c: error executing dg-final: couldn't open "pr37101.s": no such file or directory
=== gcc Summary for unix//-m32 ===
# of expected passes 56441
# of unexpected successes 3
# of unexpected failures 15
# of expected failures 148
# of unresolved testcases 1
# of unsupported tests 1000
=== gcc Summary ===
# of expected passes 112447
# of unexpected failures 32
# of unexpected successes 6
# of expected failures 295
# of unresolved testcases 4
# of unsupported tests 2302
/space/rguenther/obj/gcc/xgcc version 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
=== gfortran tests ===
Running target unix/
=== gfortran Summary for unix/ ===
# of expected passes 30276
# of expected failures 15
# of unsupported tests 44
Running target unix//-m32
=== gfortran Summary for unix//-m32 ===
# of expected passes 30163
# of expected failures 15
# of unsupported tests 97
=== gfortran Summary ===
# of expected passes 60439
# of expected failures 30
# of unsupported tests 141
/space/rguenther/obj/gcc/testsuite/gfortran/../../gfortran version 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
=== gnat tests ===
Running target unix/
=== gnat Summary for unix/ ===
# of expected passes 617
# of expected failures 6
Running target unix//-m32
=== gnat Summary for unix//-m32 ===
# of expected passes 617
# of expected failures 6
=== gnat Summary ===
# of expected passes 1234
# of expected failures 12
=== obj-c++ tests ===
Running target unix/
WARNING: obj-c++.dg/lookup-2.mm compilation failed to produce executable
WARNING: obj-c++.dg/try-catch-2.mm compilation failed to produce executable
WARNING: obj-c++.dg/try-catch-9.mm compilation failed to produce executable
=== obj-c++ Summary for unix/ ===
# of expected passes 427
# of expected failures 21
# of unsupported tests 13
Running target unix//-m32
WARNING: obj-c++.dg/lookup-2.mm compilation failed to produce executable
WARNING: obj-c++.dg/try-catch-2.mm compilation failed to produce executable
WARNING: obj-c++.dg/try-catch-9.mm compilation failed to produce executable
=== obj-c++ Summary for unix//-m32 ===
# of expected passes 438
# of expected failures 10
# of unsupported tests 13
=== obj-c++ Summary ===
# of expected passes 865
# of expected failures 31
# of unsupported tests 26
/space/rguenther/obj/gcc/testsuite/obj-c++/../../g++ version 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
=== objc tests ===
Running target unix/
=== objc Summary for unix/ ===
# of expected passes 1864
# of expected failures 15
# of unsupported tests 24
Running target unix//-m32
=== objc Summary for unix//-m32 ===
# of expected passes 1872
# of expected failures 7
# of unsupported tests 24
=== objc Summary ===
# of expected passes 3736
# of expected failures 22
# of unsupported tests 48
/space/rguenther/obj/gcc/xgcc version 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
=== libffi tests ===
Running target unix/
=== libffi Summary for unix/ ===
# of expected passes 1389
# of unsupported tests 10
Running target unix//-m32
=== libffi Summary for unix//-m32 ===
# of expected passes 1389
# of unsupported tests 10
=== libffi Summary ===
# of expected passes 2778
# of unsupported tests 20
=== libgomp tests ===
Running target unix/
FAIL: libgomp.c++/task-4.C -O (internal compiler error)
FAIL: libgomp.c++/task-4.C -O (test for excess errors)
WARNING: libgomp.c++/task-4.C -O compilation failed to produce executable
=== libgomp Summary for unix/ ===
# of expected passes 2404
# of unexpected failures 2
Running target unix//-m32
FAIL: libgomp.c++/task-4.C -O (internal compiler error)
FAIL: libgomp.c++/task-4.C -O (test for excess errors)
WARNING: libgomp.c++/task-4.C -O compilation failed to produce executable
=== libgomp Summary for unix//-m32 ===
# of expected passes 2404
# of unexpected failures 2
=== libgomp Summary ===
# of expected passes 4808
# of unexpected failures 4
=== libjava tests ===
Running target unix/
=== libjava Summary for unix/ ===
# of expected passes 2574
Running target unix//-m32
=== libjava Summary for unix//-m32 ===
# of expected passes 2574
=== libjava Summary ===
# of expected passes 5148
=== libmudflap tests ===
Running target unix/
FAIL: libmudflap.c++/pass41-frag.cxx execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test
=== libmudflap Summary for unix/ ===
# of expected passes 1890
# of unexpected failures 4
Running target unix//-m32
FAIL: libmudflap.c++/pass41-frag.cxx execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test
=== libmudflap Summary for unix//-m32 ===
# of expected passes 1890
# of unexpected failures 4
=== libmudflap Summary ===
# of expected passes 3780
# of unexpected failures 8
=== libstdc++ tests ===
Running target unix/
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)
=== libstdc++ Summary for unix/ ===
# of expected passes 6715
# of unexpected successes 1
# of expected failures 82
# of unsupported tests 15
Running target unix//-m32
XPASS: 26_numerics/headers/cmath/c99_classification_macros_c.cc (test for excess errors)
=== libstdc++ Summary for unix//-m32 ===
# of expected passes 6709
# of unexpected successes 1
# of expected failures 82
# of unsupported tests 18
=== libstdc++ Summary ===
# of expected passes 13424
# of unexpected successes 2
# of expected failures 164
# of unsupported tests 33
Compiler version: 4.5.0 20090416 (experimental) [trunk revision 145533] (GCC)
Platform: x86_64-unknown-linux-gnu
configure flags: --disable-nls --enable-languages=all,ada,obj-c++