There are a handful of ambiguous abs calls in the source:
../../../source/lib/tex/tex_bmp.cpp:106:17: warning: absolute value function 'abs' given an argument of type 'const long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value] const long h = abs(h_); ^ ../../../source/lib/tex/tex_bmp.cpp:106:17: note: use function 'std::abs' instead const long h = abs(h_); ^~~ std::abs ../../../source/lib/tex/tex_bmp.cpp:106:17: warning: absolute value function 'abs' given an argument of type 'const long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value] const long h = abs(h_); ^ ../../../source/lib/tex/tex_bmp.cpp:106:17: note: use function 'std::abs' instead const long h = abs(h_); ^~~ std::abs In file included from ../../../source/simulation2/components/tests/test_HierPathfinder.cpp:17: /Users/user/GitHub/0ad/source/simulation2/components/tests/test_HierPathfinder.h:440:13: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value] TS_ASSERT(abs(euclidian(goal.x.ToInt_RoundToNegInfinity(), goal.z.ToInt_RoundToNegInfinity(), pi, pj)-20) < 1.5f); ^ /Users/user/GitHub/0ad/source/simulation2/components/tests/test_HierPathfinder.h:440:13: note: use function 'std::abs' instead TS_ASSERT(abs(euclidian(goal.x.ToInt_RoundToNegInfinity(), goal.z.ToInt_RoundToNegInfinity(), pi, pj)-20) < 1.5f); ^~~ std::abs In file included from ../../../source/simulation2/components/tests/test_HierPathfinder.cpp:17: /Users/user/GitHub/0ad/source/simulation2/components/tests/test_HierPathfinder.h:441:13: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value] TS_ASSERT(abs(euclidian(goal.x.ToInt_RoundToNegInfinity(), goal.z.ToInt_RoundToNegInfinity(), oi, oj) - euclidian(pi, pj, oi, oj)) < 22.0f); ^ /Users/user/GitHub/0ad/source/simulation2/components/tests/test_HierPathfinder.h:441:13: note: use function 'std::abs' instead TS_ASSERT(abs(euclidian(goal.x.ToInt_RoundToNegInfinity(), goal.z.ToInt_RoundToNegInfinity(), oi, oj) - euclidian(pi, pj, oi, oj)) < 22.0f); ^~~ std::abs
The problem is the compiler might select either the C or C++ version of abs. The C version is int-only, while the C++ version has overloads for various types. Building on OS X 10.11 actually warns about these (10.14 doesn't), but I believe the calls aren't well-defined anyway and should be fixed.