https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69657
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Wilco from comment #5) > I bet that adding an int overload that redirects to __builtin_abs similar to > the others will fix the issue. Hmm, I wonder if the following needs to hold true: extern "C" int abs(int); int (*abs1) (int) = &std::abs; int (*abs2) (int) = &::abs; assert(abs1 == abs2); --- CUT --- If this does not, then adding an int overload is a good workaround but if it does then adding an function is not a valid thing to do.