bootstrap-fix-include-next
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Sat, 4 Jan 2025 08:12:52 +0000 (09:12 +0100)
committerMatthias Klose <doko@debian.org>
Sat, 4 Jan 2025 08:12:52 +0000 (09:12 +0100)
commitcc7643e4a4e0bc642034ca4b5c9b505174c985d1
tree0995ec8d7e2f6fd36b02052d4c0bcfb1fc142451
parentf4b4ece8f9450c0bc261c64e8074b476782a1583
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