Xref: news2.mv.net comp.os.msdos.djgpp:1756 From: terra AT diku DOT dk (Morten Welinder) Newsgroups: comp.os.msdos.djgpp Subject: Re: paranoia Date: 6 Mar 1996 13:01:09 GMT Organization: Department of Computer Science, U of Copenhagen Lines: 26 Sender: terra AT tyr DOT diku DOT dk Message-ID: <4hk2al$q82@odin.diku.dk> References: <9603051656 DOT AA06324 AT tntnhb3 DOT tn DOT tudelft DOT nl> NNTP-Posting-Host: odin.diku.dk To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp erik AT tntnhb3 DOT tn DOT tudelft DOT nl (Erik Luijten) writes: >The recent messages about DJGPP's floating point library have somewhat >disturbed me. Therefore I have compiled paranoia (from netlib), to see whether >this program reveals some problems. Well, I have compiled it without >optimization (the program completely choked when I tried -O2, why?) and >paranoia said the following: >No chopping nor rounding on * / + - sqrt: sticky bit incorrectly used or not >used at all. This is a bug in the paranoia program. The job that paranoia seeks to perform cannot be done within well-defined C. The assumptions that paranoia puts on the compiler are not present in the C standard. Paranoia assumes that there is a one-to-one correspondence between operations ("+", "-", ...) at source level and operations at the target language level ("FADD", ...). This is not required by the C standard and it is not so for gcc, probably not even with "optimizations off". Things are different in fortran where parentheses have more than syntactic meaning. Morten