<div dir="ltr">Hello all,<br><br>I've recently been looking into constexpr evalution and the exceptional values of floating point numbers.<br>After asking this on stackoverflow (<a href="https://stackoverflow.com/a/56920473/2466431">https://stackoverflow.com/a/56920473/2466431</a>), I didn't get a clear answer on if this is defined behavior or not, nor how this plays together with std::numeric_limits<double>::is_iec559<br>Similarly, it's unclear why operations resulting in INF/NAN ain't allowed at constexpr while the right thing happens by optimization. (Ignoring some side effects where it sometimes still works)<br><br>Looking back at it today, the example at CompilerExplorer worked, which I traced back to <a href="https://reviews.llvm.org/D63793">https://reviews.llvm.org/D63793</a> (by rsmith).<br>Our issue seems to be resolved for INF, though, not yet for NaN, as it has a // FIXME: C++ rules require us to not conform to IEEE 754 here.<br><br>Can you elaborate on the plan to resolve the FIXME and if possible the timing?<br>And in case this is very unclear, is there an option to have -fconstexpr-iec559 flag that allows the calculation at constexpr?<br><br>Thanks in advance for the feedback<br><br><br><br></div>