https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69721
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Definitely invalid. It might have worked before because <math.h> only declared extern "C" functions, which don't include namespaces in their mangled names, but the code always had undefined behaviour. Now that <math.h> is implemented by including <cmath> (which defines extern "C++" functions where namespaces matter) the undefined code stops working. That's the problem with undefined code that just happens to work today, it might stop working at any time.