------- 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

Reply via email to