bootstrap-fix-include-next
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Mon, 31 Aug 2020 10:28:24 +0000 (11:28 +0100)
committerGianfranco Costamagna <locutusofborg@debian.org>
Mon, 31 Aug 2020 10:28:24 +0000 (11:28 +0100)
commitde6c47e3d195d00e1f4c1a9ff9955dc25af4be9d
tree3ad1f21abfd2598c5ddda8e349bc122f0b1a5f02
parent96136b418ec33eb742962ab4a4c942944fa5eb54
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