https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69657
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- <math.h> is not unrelated, it declares overloads of std::abs. If you include a genuinely unrelated file then you get your expected output.