From 187cc4537acb36186a6f11d1fb15f5bf616e27ac Mon Sep 17 00:00:00 2001 From: LLVM Packaging Team Date: Tue, 9 Jul 2019 20:04:39 +0100 Subject: [PATCH] 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 | 2 +- clang/lib/Headers/limits.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/lib/Headers/inttypes.h b/clang/lib/Headers/inttypes.h index 1d8eabab0..006c3d657 100644 --- a/clang/lib/Headers/inttypes.h +++ b/clang/lib/Headers/inttypes.h @@ -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 diff --git a/clang/lib/Headers/limits.h b/clang/lib/Headers/limits.h index f04187ced..0913917ef 100644 --- a/clang/lib/Headers/limits.h +++ b/clang/lib/Headers/limits.h @@ -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. -- 2.30.2