bootstrap-fix-include-next
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Tue, 9 Jul 2019 19:04:39 +0000 (20:04 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Tue, 9 Jul 2019 19:04:39 +0000 (20:04 +0100)
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

index 1d8eabab0f8e137fb3fc310b1f109ac742710bfd..006c3d65779629a7a3911b5ee61d7e0aedd944d3 100644 (file)
@@ -20,7 +20,7 @@
  *
 \*===----------------------------------------------------------------------===*/
 
-#ifndef __CLANG_INTTYPES_H
+#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H)
 #define __CLANG_INTTYPES_H
 
 #if defined(_MSC_VER) && _MSC_VER < 1800
index f04187ced26d14b90e42b13af6dadd25dbaefe9e..0913917efc1218850430f8051fbbe862c3391a6a 100644 (file)
@@ -22,7 +22,7 @@
  *
 \*===----------------------------------------------------------------------===*/
 
-#ifndef __CLANG_LIMITS_H
+#if !defined(__CLANG_LIMITS_H) || !defined(_LIBC_LIMITS_H_)
 #define __CLANG_LIMITS_H
 
 /* The system's limits.h may, in turn, try to #include_next GCC's limits.h.