https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69657
--- Comment #2 from Jonathan Wakely ---
This exhibits the same problem:
namespace foo
{
inline double
abs(double __x)
{ return __builtin_fabs(__x); }
}
using foo::abs;
#include
int
wrap_abs (int x)
{
return std::abs (x) + std::abs(x);
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69657
--- Comment #1 from Jonathan Wakely ---
is not unrelated, it declares overloads of std::abs. If you include a
genuinely unrelated file then you get your expected output.