https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78851
Bug ID: 78851 Summary: Resolve DR 550 in cmath and continue using __builtin_powil() even in C++11 Product: gcc Version: 6.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: vz-gcc at zeitlins dot org Target Milestone: --- It looks like the `long double pow(long double, int)` overload in `<cmath>` was disabled because of the [DR 550](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3286.html#550) to the C++11 standard which proposed removing these overloads. However [this answer](http://stackoverflow.com/a/5627278/15275) by Howard Hinnant, who submitted the DR in the first place, indicates that these overloads were kept in the final version of the standard and so, AFAICS, shouldn't be disabled for C++11 in the header. One reason for enabling them would be (presumably, I didn't measure it, but #11706 wouldn't have been done without it, I think) to improve performance but another one, which is actually the one that led me to open this bug, is to avoid gratuitous inconsistencies between C++03 and C++11. See also #70299.