bootstrap-fix-include-next
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Fri, 14 Mar 2025 09:48:31 +0000 (10:48 +0100)
committerSylvestre Ledru <sylvestre@debian.org>
Fri, 14 Mar 2025 09:48:31 +0000 (10:48 +0100)
commitf12c311d3dbe90655fb57e74e87d13ec1f70feda
tree293b44e9306d0099e1e3543caef391b60fc7ab0b
parente6b87b7fb030f78a9d6a5a004cd0d81bbc37d057
bootstrap-fix-include-next

When doing a bootstrap, we use a newly built clang.
When this one is used, if already installed on the system,
we have clang header in two places:
llvm-toolchain-7-7/build-llvm/lib/clang/7.0.0/include/inttypes.h
and
/usr/include/clang/7.0.0/include/inttypes.h

Because clang expects only one of his headers to be available, it uses
include_next to get the glibc (libc6-dev package) header.

However, in the previous example, because we have inttypes.h twice in the
include search path, clang's header will call itself without any effect.
Therefore, it will do include_next until the define from the libc is existing (ex: _INTTYPES_H)

Gbp-Pq: Name bootstrap-fix-include-next.diff
clang/lib/Headers/inttypes.h
clang/lib/Headers/limits.h