Bring back bootstrap-fix-include-next.diff which has been removed from an unknow reason

This commit is contained in:
Sylvestre Ledru 2019-07-11 17:26:04 +02:00
parent 4a665f949a
commit 3f95d140eb
3 changed files with 44 additions and 0 deletions

2
debian/changelog vendored
View File

@ -10,6 +10,8 @@ llvm-toolchain-snapshot (1:9~svn365742-1~exp1) experimental; urgency=medium
- __kmpc_taskred_modifier_init - __kmpc_taskred_modifier_init
- omp_fulfill_event - omp_fulfill_event
- omp_fulfill_event_ - omp_fulfill_event_
* Bring back bootstrap-fix-include-next.diff which has been removed from
an unknow reason
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 11 Jul 2019 11:11:46 +0200 -- Sylvestre Ledru <sylvestre@debian.org> Thu, 11 Jul 2019 11:11:46 +0200

View File

@ -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.

View File

@ -123,3 +123,4 @@ kfreebsd/lldb_source_Plugins_Process_FreeBSD.diff
kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff kfreebsd/tools_llvm-shlib_CMakeLists.txt.diff
930008-arm.diff 930008-arm.diff
bootstrap-fix-include-next.diff