https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109818
--- Comment #28 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Janez Zemva from comment #26) > I am a c++ user, so I don't like using c header files if at all possible. <math.h> is a C++ header file, if you doubt that, you can check the path where it's included from. You'll see that libstdc++ installs its own <math.h> in the same location as <cmath>. If you prefer, include <cmath>, you'll get the same contents. What I'm saying is to use ::trunc not std::trunc, because that is present whether or not libstdc++ adds the math functions to namespace std.