X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f Date: Sun, 3 Mar 2002 13:35:41 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: djgpp-workers AT delorie DOT com Subject: Re: libm signed/unsigned warnings In-Reply-To: <200203031015.g23AFf901564@mother.ludd.luth.se> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 3 Mar 2002, Martin Str|mberg wrote: > According to Eli Zaretskii: > > Please run the cygnus test suite after the changes, and compare the > > results with tests/cygnus/standard.results. Any changes should be > > scrutinized. > > Ouch! Only recompiling (djlsr203) libm with gcc 3.04 increases the > failures from 397 to 491. CVS head gives 451. My changes take this > number down to 430. Sigh. I was afraid this would be the case. > So it seems I mamanged to improve something but I > don't know why. The only way to find the problems is to debug each case of failure individually, unfortunately. One troublesome issue is aggressive optimizations of the newer compilers: libm.a sources sometimes depend on certain subexpressions not being optimized away, even though rules of algebra suggest they could be. Try building libm.a without optimizations and see if things change. Also, some ``failures'' are actually due to changes in low bits of the result, like bit 62 of a double. These can be generally disregarded, especially in low-accuracy functions such as j0 etc. (you will see that standard.results reports lots of inaccurate results for those).