http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49813
--- Comment #29 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-07-25 10:45:59 UTC --- (In reply to comment #28) > (I meant to say -some- C90 functions, like std::abs, in most of the cases only > the overloads for float and long double require work) You have to be careful though as we do not guarantee to fold things in the middle-end. For example I don't think mpfr handles all exceptional values, so we might end up not folding those (like with -fsignalling-nans or signed zeros). Also for -frounding-math we do not constant fold floating point expressions. But I'm not sure what guarantee a constexpr marked overload of, say, sqrt provides. We at least don't fold sqrt (-1.0).