From: stolcke@icsi.berkeley.edu (Andreas Stolcke)
Subject: g++ 2.3.2/libg++-2.3 decstation checks failed
Organization: International Computer Science Institute, Berkeley, CA, U.S.A.
Distribution: gnu
Date: Fri, 11 Dec 1992 20:59:50 GMT

Reference data:  gcc-2.3.2, libg++-2.3, decstation, Ultrix 4.0

In a fit of hubris I tried to compile libg++-2.3 with

GXXFLAGS= -g -O2

instead of the default -g -O.

I got the following discrepancies from make check, all of which don't appear
with standard optimization level (-O).

[excerpts from make log follow]

cd test; make check ...
./tFile < ../../../../libg++/iostream/test/tFile.inp > tFile.out 2>&1
diff -c tFile.out ../../../../libg++/iostream/test/tFile.exp
*** tFile.out	Fri Dec 11 09:37:16 1992
--- ../../../../libg++/iostream/test/tFile.exp	Mon Nov  2 22:31:35 1992
***************
*** 4,10 ****
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = <3.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
--- 4,10 ----
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = 123.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
*** Error code 1 (ignored)
./tFile -b0 < ../../../../libg++/iostream/test/tFile.inp > tFile-nobuf.out 2>&1
diff -c tFile-nobuf.out ../../../../libg++/iostream/test/tFile.exp
*** tFile-nobuf.out	Fri Dec 11 09:37:18 1992
--- ../../../../libg++/iostream/test/tFile.exp	Mon Nov  2 22:31:35 1992
***************
*** 4,10 ****
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = <3.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
--- 4,10 ----
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = 123.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
*** Error code 1 (ignored)
./tFile -b3 < ../../../../libg++/iostream/test/tFile.inp > tFile-buf3.out 2>&1
diff -c tFile-buf3.out ../../../../libg++/iostream/test/tFile.exp
*** tFile-buf3.out	Fri Dec 11 09:37:19 1992
--- ../../../../libg++/iostream/test/tFile.exp	Mon Nov  2 22:31:35 1992
***************
*** 4,10 ****
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = <3.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
--- 4,10 ----
  enter three integers (short, int, long):first  = 123 via dec =      123
  second = 4567 via form = 4567 = 010727 via cout.form = 4567 = 0x11d7
  third  = 89012 via hex = 15bb4
! enter a float then a double:first  = 123.456
  second = -0.012
  enter 5 characters separated with spaces:first  = 1
  rest   =  2 3 4 5
*** Error code 1 (ignored)
gcc -g -O2 -nostdinc++ -I../../../../libg++/iostream/test -I../.. -I../../../../libg++/iostream/test/.. -I../../../../libg++/iostream/test/../stdio -I../../../../libg++/iostream/test/../../g++-include  -c ../../../../libg++/iostream/test/tformat.C
gcc -o tformat tformat.o ../libio.a ../../libg++.a
./tformat
Error in line 37 using "%#g".  Result is "-:.05363"; should be: "-10.0536".
Error in line 38 using "%G".  Result is "-:.05915E-18"; should be: "-1.00592E-17".
Error in line 41 using "%+f".  Result is "-:09390937771849.000000"; should be: "-1009390937771848.628657".
Error in line 44 using "%.2E".  Result is "-:.13E-23"; should be: "-1.01E-22".
Error in line 50 using "%+g".  Result is "-:.25439e+08"; should be: "-1.02544e+09".
Error in line 52 using "%3G".  Result is "-:.28096E+17"; should be: "-1.0281E+18".
Error in line 57 using "%4.3g".  Result is "-:.36e-30"; should be: "-1.04e-29".
Error in line 60 using "%+G".  Result is "-0.00:4091"; should be: "-0.0104091".
Error in line 61 using "%G".  Result is "-:.4468E-21"; should be: "-1.04468E-20".
Error in line 62 using "%+E".  Result is "-:.449901E+23"; should be: "-1.044990E+24".
Error in line 64 using "%+#3g".  Result is "-:.45714e-05"; should be: "-0.000104571".
Error in line 68 using "%+1.3G".  Result is "-:.47E-23"; should be: "-1.05E-22".
Error in line 71 using "%+G".  Result is "-:.4953E-18"; should be: "-1.04953E-17".
Error in line 74 using "%#5.4e".  Result is "-:.5449e+20"; should be: "-1.0545e+21".
Error in line 80 using "%+e".  Result is "-:.633658e-11"; should be: "-1.063366e-10".
Error in line 86 using "%+.7G".  Result is "-:.690126E-14"; should be: "-1.069013E-13".
Error in line 89 using "%g".  Result is "-:.71351e-30"; should be: "-1.07135e-29".
Error in line 91 using "%5.E".  Result is "-;E+22"; should be: "-1E+23".
Error in line 93 using "%#G".  Result is "-:.75171E-20"; should be: "-1.07517E-19".
Error in line 96 using "%4.g".  Result is "-;e+07"; should be: "-1e+08".
Error in line 99 using "%+2.f".  Result is "-:7935243283"; should be: "-107935243283".
Error in line 101 using "%.5g".  Result is "-:.8304e-17"; should be: "-1.083e-16".
Error in line 105 using "%e".  Result is "-:.879860e-12"; should be: "-1.087986e-11".
Error in line 107 using "%#E".  Result is "-:.914632E+10"; should be: "-1.091463E+11".
Error in line 111 using "%0.1E".  Result is "-:.9E-09"; should be: "-1.1E-08".
Error in line 112 using "%6.e".  Result is "-;e-24"; should be: "-1e-23".
Error in line 118 using "%#0.G".  Result is "-;.E+03"; should be: "-1.E+04".
Error in line 121 using "%1g".  Result is "-;.1258e-24"; should be: "-1.11258e-23".
Error in line 123 using "%+#.7e".  Result is "-;.1501905e+17"; should be: "-1.1150190e+18".
Error in line 129 using "%0G".  Result is "-;.25025E+14"; should be: "-1.12503E+15".
Error in line 132 using "%e".  Result is "-;.305776e+00"; should be: "-1.130578e+01".
Error in line 134 using "%G".  Result is "-;3.2225"; should be: "-113.223".
Error in line 136 using "%#g".  Result is "-;.35529e-14"; should be: "-1.13553e-13".
Error in line 141 using "%2.f".  Result is "-;43199141708028032"; should be: "-1143199141708027833".
Error in line 142 using "%f".  Result is "-;46712902056139030528.000000"; should be: "-1146712902056139071760.298975".
Error in line 145 using "%+.5f".  Result is "-;4957552346505199616.00000"; should be: "-114957552346505220697.28140".
Error in line 147 using "%+3.E".  Result is "-<E-18"; should be: "-1E-17".
Error in line 149 using "%g".  Result is "-;.57089e+19"; should be: "-1.15709e+20".
Error in line 152 using "%.3G".  Result is "-;.63E+19"; should be: "-1.16E+20".
Error in line 153 using "%G".  Result is "-;.64979E+23"; should be: "-1.16498E+24".
Error in line 158 using "%7.g".  Result is " -<e+07"; should be: " -1e+08".
Error in line 162 using "%+.0E".  Result is "-<E-24"; should be: "-1E-23".
Error in line 167 using "%0.3g".  Result is "-;.8e-05"; should be: "-0.000118".
Error in line 169 using "%3g".  Result is "-;8.0766"; should be: "-118.077".
Error in line 173 using "%G".  Result is "-;.8486E-27"; should be: "-1.18486E-26".
Error in line 177 using "%G".  Result is "-;9.2104"; should be: "-119.21".
Error in line 183 using "%5.7E".  Result is "-<.0380667E+09"; should be: "-1.2038067E+10".
Error in line 186 using "%+g".  Result is "-<.05899e-12"; should be: "-1.2059e-11".
Error in line 189 using "%5e".  Result is "-<.080670e-18"; should be: "-1.208067e-17".
Error in line 194 using "%G".  Result is "-<.14699E-15"; should be: "-1.2147E-14".
Error in line 199 using "%e".  Result is "-<.194227e+07"; should be: "-1.219423e+08".
Error in line 211 using "%1.7G".  Result is "-<.312948E-18"; should be: "-1.231295E-17".
Error in line 216 using "%7e".  Result is "-<.382447e-03"; should be: "-1.238245e-02".
Error in line 227 using "%+#6.g".  Result is "-<.e-30"; should be: "-1.e-29".
Error in line 237 using "%g".  Result is "-<.63217e-15"; should be: "-1.26322e-14".
Error in line 240 using "%e".  Result is "-<.670062e-24"; should be: "-1.267006e-23".
Error in line 247 using "%+f".  Result is "-<8233129149920.296875"; should be: "-128233129149920.266343".
Error in line 249 using "%E".  Result is "-<.857007E+10"; should be: "-1.285701E+11".
Error in line 259 using "%+g".  Result is "-<.96633e-21"; should be: "-1.29663e-20".
Error in line 262 using "%.2e".  Result is "-=.01e+10"; should be: "-1.30e+11".
Error in line 265 using "%+G".  Result is "-=.04096E-21"; should be: "-1.3041E-20".
Error in line 270 using "%g".  Result is "-=.08964e-24"; should be: "-1.30896e-23".
Error in line 277 using "%+G".  Result is "-=.17818E-22"; should be: "-1.31782E-21".
Error in line 281 using "%+5.g".  Result is "-=e-09"; should be: "-1e-08".
Error in line 293 using "%e".  Result is "-=.430584e-03"; should be: "-1.343058e-02".
Error in line 298 using "%4.G".  Result is "->E+28"; should be: "-1E+29".
Error in line 309 using "%.2e".  Result is "-=.74e-18"; should be: "-1.37e-17".
Error in line 313 using "%e".  Result is "-=.785147e-15"; should be: "-1.378515e-14".
Error in line 330 using "%5g".  Result is "-=.97585e-15"; should be: "-1.39758e-14".
Error in line 334 using "%#5f".  Result is "-=9954533530411892977172480.000000"; should be: "-139954533530411872277454676.805064".
Error in line 335 using "%2f".  Result is "->0010260333575503872.000000"; should be: "-140010260333575509150.705329".
Error in line 336 using "%e".  Result is "->.012127e+03"; should be: "-1.401213e+04".
Error in line 355 using "%+0.3E".  Result is "->.345E-25"; should be: "-1.435E-24".
Error in line 364 using "%#6.1G".  Result is "->.E+06"; should be: "-1.E+07".
Error in line 371 using "%4.2G".  Result is "-0.00>5"; should be: "-0.014".
Error in line 373 using "%6f".  Result is "->512697635.135710"; should be: "-14512697635.135705".
Error in line 381 using "%.4E".  Result is "->.6186E-03"; should be: "-1.4619E-02".
Error in line 384 using "%+G".  Result is "->.65857E+19"; should be: "-1.46586E+20".
Error in line 394 using "%#7.f".  Result is "-?0214319767711903645696."; should be: "-150214319767711934616727.".
Error in line 395 using "%.6g".  Result is "-?.03564e-25"; should be: "-1.50356e-24".
Error in line 407 using "%2.G".  Result is "-?E-25"; should be: "-2E-24".
Error in line 425 using "%7.G".  Result is "     -@"; should be: " -2E+01".
Error in line 2029 using "%+G".  Result is "+:.0584E-29"; should be: "+1.00584E-28".
Error in line 2035 using "%+0.0G".  Result is "+:E-09"; should be: "+1E-08".
Error in line 2037 using "%f".  Result is ":11375000.606627"; should be: "1011375000.606627".
Error in line 2038 using "%3.2f".  Result is ":11944652221650.00"; should be: "1011944652221649.98".
Error in line 2040 using "%3g".  Result is ":.14526e+14"; should be: "1.01453e+15".
Error in line 2043 using "%G".  Result is ":.18471E+13"; should be: "1.01847E+14".
Error in line 2044 using "%4.1f".  Result is ":21646959220873.0"; should be: "1021646959220872.6".
Error in line 2045 using "%g".  Result is ":.22305e+26"; should be: "1.0223e+27".
Error in line 2048 using "%g".  Result is ":24193"; should be: "1.02419e+06".
Error in line 2050 using "%G".  Result is ":.26674E+20"; should be: "1.02667E+21".
Error in line 2051 using "%#3.G".  Result is ":.E-20"; should be: "1.E-19".
Error in line 2054 using "%+E".  Result is "+:.289349E-14"; should be: "+1.028935E-13".
Error in line 2057 using "%.5G".  Result is ":.335E+05"; should be: "1.0335E+06".
Error in line 2060 using "%G".  Result is ":.40552E+13"; should be: "1.04055E+14".
Error in line 2062 using "%+g".  Result is "+:.45792e+14"; should be: "+1.04579e+15".
Error in line 2066 using "%4.G".  Result is ";E+14"; should be: "1E+15".
Error in line 2069 using "%+.2G".  Result is "+:.6E-27"; should be: "+1.1E-26".
Error in line 2071 using "%3g".  Result is ":.5887e-20"; should be: "1.05887e-19".
Error in line 2074 using "%2.g".  Result is ";e+08"; should be: "1e+09".
Error in line 2076 using "%g".  Result is ":.65021e+19"; should be: "1.06502e+20".
Error in line 2077 using "%e".  Result is ":.654640e-17"; should be: "1.065464e-16".
Error in line 2080 using "%e".  Result is ":.713188e+11"; should be: "1.071319e+12".
Error in line 2082 using "%.4E".  Result is ":.7465E+13"; should be: "1.0747E+14".
Error in line 2085 using "%4G".  Result is ":.7878E-05"; should be: "0.000107878".
Error in line 2086 using "%+E".  Result is "+:.794675E-17"; should be: "+1.079467E-16".
Error in line 2092 using "%5e".  Result is ":.953491e-05"; should be: "1.095349e-04".
Error in line 2095 using "%2.5g".  Result is ":.9997e-14"; should be: "1.1e-13".
Error in line 2100 using "%g".  Result is ";.06367e-11"; should be: "1.10637e-10".
Error in line 2107 using "%+g".  Result is "+;.12625e+20"; should be: "+1.11263e+21".
Error in line 2109 using "%g".  Result is ";.14727e-11"; should be: "1.11473e-10".
Error in line 2116 using "%G".  Result is "0.00;2362"; should be: "0.0112362".
Error in line 2118 using "%g".  Result is ";.28962e+10"; should be: "1.12896e+11".
Error in line 2124 using "%f".  Result is ";3616714105903594340352.000000"; should be: "113616714105903593434732.101741".
Error in line 2125 using "%+G".  Result is "+;.36439E+09"; should be: "+1.13644E+10".
Error in line 2126 using "%g".  Result is ";.3686e+23"; should be: "1.13686e+24".
Error in line 2130 using "%G".  Result is ";.41318E-27"; should be: "1.14132E-26".
Error in line 2134 using "%g".  Result is ";.45791e-11"; should be: "1.14579e-10".
Error in line 2138 using "%1.g".  Result is "<e-11"; should be: "1e-10".
Error in line 2142 using "%E".  Result is ";.616105E-27"; should be: "1.161610E-26".
Error in line 2146 using "%G".  Result is ";.63545E+25"; should be: "1.16354E+26".
Error in line 2148 using "%+g".  Result is "+;.68694e-31"; should be: "+1.16869e-30".
Error in line 2150 using "%7.G".  Result is "  <E-30"; should be: "  1E-29".
Error in line 2154 using "%5e".  Result is ";.814949e+19"; should be: "1.181495e+20".
Error in line 2160 using "%.0g".  Result is "<e+04"; should be: "1e+05".
Error in line 2164 using "%.2g".  Result is ";.9e-24"; should be: "1.2e-23".
Error in line 2170 using "%.4E".  Result is ";.9731E+03"; should be: "1.1973E+04".
Error in line 2173 using "%7G".  Result is ";.97813E+26"; should be: "1.19781E+27".
Error in line 2176 using "%f".  Result is "<0147.806752"; should be: "120147.806752".
Error in line 2179 using "%#g".  Result is "0.0<02537"; should be: "0.120254".
Error in line 2187 using "%6.7f".  Result is "<1284900155186202632257536.0000000"; should be: "121284900155186181613942153.4899157".
Error in line 2192 using "%+0.E".  Result is "+<E+13"; should be: "+1E+14".
Error in line 2199 using "%+g".  Result is "+<.27487e-09"; should be: "+1.22749e-08".
Error in line 2206 using "%7.g".  Result is "  <e+04"; should be: "  1e+05".
Error in line 2217 using "%5.E".  Result is "=E-24"; should be: "1E-23".
Error in line 2220 using "%E".  Result is "<.805909E-22"; should be: "1.280591E-21".
Error in line 2232 using "%f".  Result is "=0126977784369802893351452672.000000"; should be: "130126977784369834978406288428.232074".
Error in line 2244 using "%+1E".  Result is "+=.235660E+13"; should be: "+1.323566E+14".
Error in line 2247 using "%3.g".  Result is "=e+07"; should be: "1e+08".
Error in line 2269 using "%+e".  Result is "+=.713955e-19"; should be: "+1.371396e-18".
Error in line 2274 using "%#G".  Result is "=.77166E+19"; should be: "1.37717E+20".
Error in line 2286 using "%G".  Result is "=.98154E-22"; should be: "1.39815E-21".
Error in line 2297 using "%g".  Result is ">.13267e+09"; should be: "1.41327e+10".
Error in line 2302 using "%g".  Result is ">.19405e-12"; should be: "1.4194e-11".
Error in line 2308 using "%3.G".  Result is ">E+16"; should be: "1E+17".
Error in line 2323 using "%e".  Result is ">.492454e+03"; should be: "1.449245e+04".
Error in line 2330 using "%3.7E".  Result is ">.6240818E+09"; should be: "1.4624082E+10".
Error in line 2345 using "%f".  Result is ">921452.675367"; should be: "14921452.675367".
Error in line 2347 using "%E".  Result is ">.947843E+00"; should be: "1.494784E+01".
Error in line 2350 using "%g".  Result is "0.00?01387"; should be: "0.0150139".
Error in line 2356 using "%E".  Result is "?.092040E-19"; should be: "1.509204E-18".
Error in line 2360 using "%g".  Result is "?148.55"; should be: "15148.6".
Error in line 2363 using "%#g".  Result is "?.22102e-19"; should be: "1.52210e-18".
Error in line 2387 using "%1.6g".  Result is "?.65229e+12"; should be: "1.56523e+13".
Error in line 2395 using "%+2g".  Result is "+?.8781e-19"; should be: "+1.58781e-18".
Error in line 2402 using "%+g".  Result is "+@.01491e-16"; should be: "+1.60149e-15".
Error in line 3490 using "%.5G".  Result is "5.3770E+14"; should be: "5.377E+14".
Encountered 158 errors in 3988 tests.
*** Error code 1 (ignored)
gcc -g -O2 -nostdinc++ -I. -I.. -I../../../libg++/tests/../iostream  -I../../../libg++/tests/../src -I../../../libg++/tests/../g++-include  -c ../../../libg++/tests/tFile.cc
gcc  tFile.o -o tFile ../libg++.a
./tFile < ../../../libg++/tests/tFile.inp > tFile.out 2>&1
diff -b ../../../libg++/tests/tFile.exp tFile.out
7c7
< enter a float then a double:first  = 123.456
---
> enter a float then a double:first  = <3.456
*** Error code 1 (ignored)
gcc -g -O2 -nostdinc++ -I. -I.. -I../../../libg++/tests/../iostream  -I../../../libg++/tests/../src -I../../../libg++/tests/../g++-include  -c ../../../libg++/tests/tComplex.cc
gcc  tComplex.o -o tComplex ../libg++.a -lm
./tComplex < ../../../libg++/tests/tComplex.inp > tComplex.out 2>&1
diff -b ../../../libg++/tests/tComplex.exp tComplex.out
23c23
< norm(a) = 13
---
> norm(a) = =
*** Error code 1 (ignored)
gcc -g -O2 -nostdinc++ -I. -I.. -I../../../libg++/tests/../iostream  -I../../../libg++/tests/../src -I../../../libg++/tests/../g++-include  -c ../../../libg++/tests/tFix16.cc
gcc  tFix16.o -o tFix16 ../libg++.a -lm
./tFix16 < ../../../libg++/tests/tFix16.inp > tFix16.out 2>&1
diff -b ../../../libg++/tests/tFix16.exp tFix16.out
5c5
< .1 = 0.100006
---
> .1 = 0.0:00061
35c35
< .1 = 0.1
---
> .1 = 0.0:
*** Error code 1 (ignored)
gcc -g -O2 -nostdinc++ -I. -I.. -I../../../libg++/tests/../iostream  -I../../../libg++/tests/../src -I../../../libg++/tests/../g++-include  -c ../../../libg++/tests/tFix24.cc
warning, Fix24_shift not found in original or external symbol tables, value defaults to 0
warning, Fix24_mult not found in original or external symbol tables, value defaults to 0
warning, Fix24_max not found in original or external symbol tables, value defaults to 0
warning, Fix24_min not found in original or external symbol tables, value defaults to 0
warning, Fix24_m_max not found in original or external symbol tables, value defaults to 0
warning, Fix24_m_min not found in original or external symbol tables, value defaults to 0
warning, Fix48_max not found in original or external symbol tables, value defaults to 0
warning, Fix48_min not found in original or external symbol tables, value defaults to 0
warning, Fix48_msb not found in original or external symbol tables, value defaults to 0
warning, Fix48_lsb not found in original or external symbol tables, value defaults to 0
warning, Fix48_m_max not found in original or external symbol tables, value defaults to 0
warning, Fix48_m_min not found in original or external symbol tables, value defaults to 0
gcc  tFix24.o -o tFix24 ../libg++.a -lm
./tFix24 < ../../../libg++/tests/tFix24.inp > tFix24.out 2>&1
diff -b ../../../libg++/tests/tFix24.exp tFix24.out
5c5
< .1 = 0.1
---
> .1 = 0.0:
*** Error code 1 (ignored)

-- 
Andreas Stolcke					stolcke@icsi.berkeley.edu
International Computer Science Institute	stolcke@ucbicsi.bitnet
1947 Center St., Suite 600, Berkeley, CA 94704	(510) 642-4274 ext. 126

Newsgroups: gnu.g++.bug