[gnu.g++.lib.bug] problems with `tests' &c

Raeburn@MIT.EDU (Ken Raeburn) (10/20/89)

(Environment: GCC 1.36 with patches, G++ 10/17 [since when has the
version number meant much?], LIBG++ 10/02; configured for VAX running
4.3BSD.)

If you have to rebuild `tests' after building libg++.a, make will
think that tests is up to date (assuming some activity happened in
tests/ before).  (I assume .PHONY was intended to take care of this;
it doesn't with the BSD-based make I'm using.)

The BSD curses code wants to go off and find a terminal file
descriptor; this could be pointed out in documentation.  (I often
build with "make foo >& logfile < /dev/null", so no tty file
descriptor is available; Berkeley's code causes initsrc() to loop
until it find one, or until it reaches some particular (but
uninitialized!) value.)

The checktests.diffs file seems to give misleading results for some
tests, most notably those that use floating point values.  (This may
be due to differences between VAX floating point and IEEE or whatever
expected.out was done with.)

The Rational tests often come out with numbers that are as much as 32
times larger than those in expected.out.  The Random tests have quite
different results, but floating point values were used in a couple of
places, so I'm assuming that's the cause here also.

The output line from tFix for `abs(.2)' I don't understand -- mine
looks reasonable (I guess):
	abs(.2) =  0.19998 [17]
but the one in expected.out says
	abs(.2) =  0.19998 [8240]
Where did 8240 come from???

Aside from that, all tests appear to have worked.  (I haven't checked
test0 or tCurses out yet.)

The gperf makefile assumes that make defines $(MAKE), which is
different from the way the rest of the tree is set up, and causes
"make clean" to complain.

-- Ken

Raeburn@MIT.EDU (Ken Raeburn) (10/20/89)

   The Rational tests often come out with numbers that are as much as 32
   times larger than those in expected.out.

More precisely: The denominator is some multiple of that in
expected.out, and the numerator is multiplied by the same factor, with
some small number added.  The ratio is approximately the same as in
expected.out, not 32 times larger.

-- Ken

dl@G.OSWEGO.EDU (Doug Lea) (10/20/89)

>    The Rational tests often come out with numbers that are as much as 32
>    times larger than those in expected.out.
> 
> More precisely: The denominator is some multiple of that in
> expected.out, and the numerator is multiplied by the same factor, with
> some small number added.  The ratio is approximately the same as in
> expected.out, not 32 times larger.


This is probably a machine precision difference. double<->Rational
conversions attempt to use exactly as much precision as is used for
doubles. This leads to odd-looking Rationals, that may be expected
to vary across machines. If you send me your tRational results, I'll
try to double check this.

-Doug