Re: [PATCH 1/4] selftests/cgroup: fix clang build failures for abs() calls

From: Roman Gushchin
Date: Fri May 03 2024 - 13:54:16 EST


On Thu, May 02, 2024 at 08:51:02PM -0700, John Hubbard wrote:
> First of all, in order to build with clang at all, one must first apply
> Valentin Obst's build fix for LLVM [1]. Once that is done, then when
> building with clang, via:
>
> make LLVM=1 -C tools/testing/selftests
>
> ...clang is pickier than gcc, about which version of abs(3) to call,
> depending on the argument type:
>
> int abs(int j);
> long labs(long j);
> long long llabs(long long j);
>
> ...and this is causing both build failures and warnings, when running:
>
> make LLVM=1 -C tools/testing/selftests
>
> Fix this by calling labs() in value_close(), because the arguments are
> unambiguously "long" type.
>
> [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@xxxxxxxxxxxxxxx/
>
> Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>

Reviewed-by: Roman Gushchin <roman.gushchin@xxxxxxxxx>

Thanks!