diff --git a/debian/changelog b/debian/changelog index 0e94341a..cb9e51d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ llvm-toolchain-snapshot (1:9~svn365742-1~exp1) experimental; urgency=medium - __kmpc_taskred_modifier_init - omp_fulfill_event - omp_fulfill_event_ + * Bring back bootstrap-fix-include-next.diff which has been removed from + an unknow reason -- Sylvestre Ledru Thu, 11 Jul 2019 11:11:46 +0200 diff --git a/debian/patches/bootstrap-fix-include-next.diff b/debian/patches/bootstrap-fix-include-next.diff new file mode 100644 index 00000000..2a607bc5 --- /dev/null +++ b/debian/patches/bootstrap-fix-include-next.diff @@ -0,0 +1,41 @@ +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) + + +Index: llvm-toolchain-snapshot_9~svn365742/clang/lib/Headers/inttypes.h +=================================================================== +--- llvm-toolchain-snapshot_9~svn365742.orig/clang/lib/Headers/inttypes.h ++++ llvm-toolchain-snapshot_9~svn365742/clang/lib/Headers/inttypes.h +@@ -6,7 +6,7 @@ + * + \*===----------------------------------------------------------------------===*/ + +-#ifndef __CLANG_INTTYPES_H ++#if !defined(__CLANG_INTTYPES_H) || !defined(_INTTYPES_H) + // AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T + // is defined until an inclusion of it without _STD_TYPES_T occurs, in which + // case the header guard macro is defined. +Index: llvm-toolchain-snapshot_9~svn365742/clang/lib/Headers/limits.h +=================================================================== +--- llvm-toolchain-snapshot_9~svn365742.orig/clang/lib/Headers/limits.h ++++ llvm-toolchain-snapshot_9~svn365742/clang/lib/Headers/limits.h +@@ -6,7 +6,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. diff --git a/debian/patches/series b/debian/patches/series index a2f39ec2..5511f3c4 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -123,3 +123,4 @@ kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff 930008-arm.diff +bootstrap-fix-include-next.diff