Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!mips!daver!bungi.com!news From: sverre@lev.Seri.GOV (Sverre Froyen) Newsgroups: comp.sys.nsc.32k Subject: Floating point colons, estdio, and frexp. Message-ID: <9103171809.AA22723@lev.seri.gov> Date: 17 Mar 91 18:09:57 GMT Sender: news@daver.bungi.com Lines: 52 Approved: news@daver.bungi.com I am puzzled. Trying to track down the cause of colons `:' in some of the floating point numers output from the compiler I made the following change to frexp.c (I am using estdio and the libfp.a I posted): *** 1.1 1991/03/12 20:05:28 --- frexp.c 1991/03/15 20:49:16 *************** *** 16,23 **** sign = value.s[S_MS] & SIGN_MASK; value.s[S_MS] &= ~SIGN_MASK; ! /* Check for zero */ ! if (value.l[L_MS] == 0 && value.l[L_LS] == 0) { *exp = 0; value.s[S_MS] = sign; } --- 16,25 ---- sign = value.s[S_MS] & SIGN_MASK; value.s[S_MS] &= ~SIGN_MASK; ! /* Check for zero exponent (no denormalized numbers) */ ! if ((value.s[S_MS] & EXP_MASK) == 0) { ! value.l[S_MS] = 0L; ! value.l[L_LS] = 0L; *exp = 0; value.s[S_MS] = sign; } That is, instead of checking just for zeros, I decided to check for zeros and denormalized numbers. This caused the following error message when compiling libm.a (no colons this time): cc -O -DNATIONAL -c erf.c cc: Program cc1 got fatal signal 10. make: Error code 256 I then decided to print-out value.l[L_MS] and value.l[L_LS] in frexp inside the if statement (just before they are zeroed). This resulted in several 0x0 0x0 pairs when compiling erf.c which now compiled without errors. I then thought this might be a compiler bootstrap problem so I removed the print statement and relinked the compiler. The signal 10 error message reappeared. Ideas anyone? Sverre -- Sverre Froyen sverre@seri.gov, sunpeaks!seri!sverre