with spews recent native awk port, we'v discovered an issue with strtod() that with the default FCR; which has FPINVALs traps enabled; the FMOVDP instruction that stores a NaN to memory traps. so it is not really possible to check for NaN result of strtod() unless you mask the traps.
The APE port of awk got away with strtod() not recognizing "nan" at all, while the native plan9 libc version does. so the problem is that NaN() appears to be unusable with the default FCR on 387, and we'd like to have consistent behaviour under all archs when possible. right now, the 387 seems to be the single oddball, so one idea was to have NaN() return a quiet NaN for 387 only instead of a signaling one. On the other hand, one could argue that programs relying on NaN's have to explicitely disable FPINVAL traps on all archs. Any suggestions on how to resolve this? -- cinap