------- Comment #6 from rob1weld at aol dot com 2007-06-12 04:56 ------- A few days ago the testsuite of "C" produced this sort of result:
=== gcc tests === Running target unix FAIL: gcc.c-torture/execute/20050316-2.c execution, -O0 FAIL: gcc.c-torture/execute/20050316-2.c execution, -O1 FAIL: gcc.c-torture/execute/20050316-2.c execution, -O2 FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-loops FAIL: gcc.c-torture/execute/20050604-1.c execution, -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions FAIL: gcc.c-torture/execute/mayalias-2.c compilation, -O3 -g (internal compiler error) UNRESOLVED: gcc.c-torture/execute/mayalias-2.c execution, -O3 -g FAIL: gcc.c-torture/execute/mayalias-3.c compilation, -O3 -g (internal compiler error) UNRESOLVED: gcc.c-torture/execute/mayalias-3.c execution, -O3 -g FAIL: gcc.dg/compat/vector-2 c_compat_x_tst.o-c_compat_y_tst.o execute FAIL: gcc.dg/builtin-apply4.c execution test FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -O0 scan-tree-dump pow FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -O1 scan-tree-dump pow FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -O2 scan-tree-dump pow FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -O3 -fomit-frame-pointer scan-tree-dump pow FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -O3 -g scan-tree-dump pow FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c -Os scan-tree-dump pow FAIL: gcc.dg/tree-ssa/gen-vect-11.c scan-tree-dump-times vectorized 1 loops 1 FAIL: gcc.dg/tree-ssa/gen-vect-11a.c scan-tree-dump-times vectorized 1 loops 1 XPASS: gcc.dg/tree-ssa/update-threading.c scan-tree-dump-times Invalid sum 0 XPASS: gcc.dg/vect/vect-iv-4.c scan-tree-dump-times vectorized 1 loops 1 FAIL: gcc.target/i386/pr21291.c (test for excess errors) === gcc Summary === # of expected passes 45864 # of unexpected failures 18 # of unexpected successes 2 # of expected failures 135 # of unresolved testcases 2 # of untested testcases 35 # of unsupported tests 309 /opt/gcc-4_3-build/gcc/xgcc version 4.3.0 20070609 (experimental) Now I get this: === gcc tests === Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /root/downloads/gcc-4_3-trunk/gcc/testsuite/config/default.exp as tool-and-target-specific interface file. Running /root/downloads/gcc-4_3-trunk/gcc/testsuite/gcc.dg/dg.exp ... FAIL: gcc.dg/builtin-apply4.c execution test === gcc Summary === # of expected passes 9946 # of unexpected failures 1 # of expected failures 54 # of unsupported tests 170 /opt/gcc-4_3-build/gcc/xgcc version 4.3.0 20070611 (experimental) A HUGE difference. The GNU/Linux apt-get or aptitude in combination with installing mpfr yourself _might_ have caused a problem with the include files. A "standard" configuration of mpfr (without any extra configuration options) creates and installs a static library _only_ in /usr/local/lib. When gcc 4.3.0 is configured and built without extra "mpfr" options it uses the mpfr library in /usr/lib (in preference to the newer one in /usr/local/lib). # ls -l /usr/include/mpfr.h /usr/local/include/mpfr.h -rw-r--r-- 1 root root 34500 May 7 05:29 /usr/include/mpfr.h -rw-r--r-- 1 root staff 34500 Jun 6 17:37 /usr/local/include/mpfr.h # diff -Naur /usr/include/mpfr.h /usr/local/include/mpfr.h (Prints Nothing) # grep -B3 MPFR_VERSION_STRING /usr/include/mpfr.h #define MPFR_VERSION_MAJOR 2 #define MPFR_VERSION_MINOR 2 #define MPFR_VERSION_PATCHLEVEL 1 #define MPFR_VERSION_STRING "2.2.1-p5" I don't know how I got my "/usr/include/mpfr.h" and "/usr/local/include/mpfr.h" the same (and neither relevant for /usr/lib/libmpfr*) but I fixed that. The preceeding actions cause "gcc/toplev.c" to print a warning about different library versions. GCC builds this way without complaining about it. # /opt/gcc-4_3-build/gcc/cc1 -fpreprocessed test_1.i -dumpbase test_1.c -mtune=athlon-xp -march=athlon-xp -auxbase test_1 -O0 -version -o test_1.s GNU C version 4.3.0 20070611 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.3.0 20070611 (experimental), GMP version 4.2.1, MPFR version 2.2.1-p5. warning: MPFR header version 2.2.1-p5 differs from library version 2.2.0. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 options passed: -fpreprocessed test_1.i -mtune=athlon-xp -march=athlon-xp -O0 options enabled: -falign-loops -fargument-alias -fbranch-count-reg -fcommon -fearly-inlining -feliminate-unused-debug-types -femit-class-debug-always -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts -fkeep-static-consts -fleading-underscore -fmath-errno -fmove-loop-invariants -fpcc-struct-return -fpeephole -fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fshow-column -fsigned-zeros -fsplit-ivs-in-unroller -ftoplevel-reorder -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-scev-cprop -ftree-vect-loop-version -fvar-tracking -fzero-initialized-in-bss -m32 -m3dnow -m80387 -m96bit-long-double -maccumulate-outgoing-args -malign-stringops -mfancy-math-387 -mfp-ret-in-387 -mglibc -mieee-fp -mmmx -mno-red-zone -mno-sse4 -mpush-args -msse -mtls-direct-seg-refs Compiler executable checksum: 75d249b8da4189a62f5df6c013a2e257 Execution times (seconds) parser : 0.00 ( 0%) usr 0.01 (13%) sys 0.01 ( 7%) wall 25 kB ( 2%) ggc dominance computation : 0.00 ( 0%) usr 0.01 (12%) sys 0.01 ( 7%) wall 0 kB ( 0%) ggc expand : 0.01 (20%) usr 0.00 ( 0%) sys 0.01 ( 7%) wall 6 kB ( 1%) ggc TOTAL : 0.05 0.08 0.14 1156 kB Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. After re-installing mpfr this is what it prints instead: # /opt/gcc-4_3-build/gcc/cc1 -fpreprocessed test_1.i -dumpbase test_1.c -mtune=athlon-xp -march=athlon-xp -auxbase test_1 -O0 -version -o test_1.s GNU C version 4.3.0 20070611 (experimental) (i686-pc-linux-gnu) compiled by GNU C version 4.3.0 20070611 (experimental), GMP version 4.2.1, MPFR version 2.2.1-p5. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 options passed: -fpreprocessed test_1.i -mtune=athlon-xp -march=athlon-xp -O0 options enabled: -falign-loops -fargument-alias -fbranch-count-reg -fcommon -fearly-inlining -feliminate-unused-debug-types -femit-class-debug-always -ffunction-cse -fgcse-lm -fident -finline-functions-called-once -fivopts -fkeep-static-consts -fleading-underscore -fmath-errno -fmove-loop-invariants -fpcc-struct-return -fpeephole -fsched-interblock -fsched-spec -fsched-stalled-insns-dep -fshow-column -fsigned-zeros -fsplit-ivs-in-unroller -ftoplevel-reorder -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize -ftree-scev-cprop -ftree-vect-loop-version -fvar-tracking -fzero-initialized-in-bss -m32 -m3dnow -m80387 -m96bit-long-double -maccumulate-outgoing-args -malign-stringops -mfancy-math-387 -mfp-ret-in-387 -mglibc -mieee-fp -mmmx -mno-red-zone -mno-sse4 -mpush-args -msse -mtls-direct-seg-refs Compiler executable checksum: 75d249b8da4189a62f5df6c013a2e257 Execution times (seconds) parser : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 8%) wall 25 kB ( 2%) ggc TOTAL : 0.05 0.05 0.12 1156 kB Extra diagnostic checks enabled; compiler may run slowly. Configure with --enable-checking=release to disable checks. I'm going to bump this up from "normal" to "major" since: 1): This essentially blocks this version and revision from having the "C" compiler declared a _possible_ candidate for release (only one error) ( - thats not _my_ call if it is actually release quality). 2): There may be people trying to fix what is not broken and worrying about errors in the testsuite that can't be fixed by a "change to mpfr's pow implementation". 3): The "C" compiler is used to compile everything else (and has never worked with so few errors). This is likely to affect all other parts of gcc. The configure script needs to make the same check as "gcc/toplev.c"'s print_version() does. It needs to fail and not continue if there is that problem. There is NO compatability problem with mpfr 2.2.1-p5 and gcc version 4.3.0 20070611 on the i686-pc-linux-gnu _IF_ you have configure halt if version checking fails. -- rob1weld at aol dot com changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32258