# Without this patch, the first local include of unwind.h might, with the # __has_include_next, try to include the one from the system. # It might be /usr/include/clang/3.4/include/unwind.h # Because of the #ifndef __CLANG_UNWIND_H, it might never include any declaration # from the system. --- clang/lib/Headers/unwind.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) Index: llvm-toolchain-snapshot_8~svn342269/clang/lib/Headers/unwind.h =================================================================== --- llvm-toolchain-snapshot_8~svn342269.orig/clang/lib/Headers/unwind.h +++ llvm-toolchain-snapshot_8~svn342269/clang/lib/Headers/unwind.h @@ -23,9 +23,6 @@ /* See "Data Definitions for libgcc_s" in the Linux Standard Base.*/ -#ifndef __CLANG_UNWIND_H -#define __CLANG_UNWIND_H - #if defined(__APPLE__) && __has_include_next() /* Darwin (from 11.x on) provide an unwind.h. If that's available, * use it. libunwind wraps some of its definitions in #ifdef _GNU_SOURCE, @@ -53,6 +50,9 @@ # endif #else +#ifndef __CLANG_UNWIND_H +#define __CLANG_UNWIND_H + #include #ifdef __cplusplus @@ -336,6 +336,7 @@ _Unwind_Ptr _Unwind_GetTextRelBase(struc } #endif +#endif /* __CLANG_UNWIND_H */ + #endif -#endif /* __CLANG_UNWIND_H */