https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89855
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #4) > DR 456: PR6257 That's what established the status quo, which James referred to as "While <math.h> may or may not declare functions in ::std::, and <cmath> may or may not declare functions in ::". We meet that requirement, but that's not the problem described here. The problem is that the new rules established by DR 456 are not sufficient to produce consistent overload sets.