https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86396

--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
You can't fold atof ("3.14") with -frounding-math because the result 
depends on the rounding mode, or with -ftrapping-math (which is the 
default) because it should raise "inexact" (there are also overflow / 
underflow cases that should set errno).  There are also locale-specific 
aspects to these functions, such as the variation of the decimal-point 
character which means you can't fold atof ("3.14") even with 
-fno-rounding-math -fno-trapping-math as the locale might use "," not "." 
as decimal-point character, and the variation of uppercase / lowercase 'I' 
/ 'i' mappings (see glibc bug 15744).  (And implementation-specific 
variations in the handling of the n-char-sequence with NAN, quite likely; 
glibc has the peculiarity there of using strtoull and thus not being able 
to represent all values in a binary128 payload.)

Reply via email to