From: Mike Stump Date: Thu, 12 Feb 2009 23:06:31 +0000 (+0000) Subject: Fix limits.h for linux, as glibc does a #include_next unless X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3855b9a8f05d3f6aba14dcd9aff3147eb8ff57bd;p=clang Fix limits.h for linux, as glibc does a #include_next unless _GCC_LIMITS_H_ is defined, when __GNUC__ is defined. Also, we need to stay away from possible conflicts with header guards. We should use CLANG_ to prefix all header guards. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64408 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/limits.h b/lib/Headers/limits.h index 2e0deaff52..1f542ea3d8 100644 --- a/lib/Headers/limits.h +++ b/lib/Headers/limits.h @@ -22,8 +22,14 @@ * \*===----------------------------------------------------------------------===*/ -#ifndef __LIMITS_H -#define __LIMITS_H +#ifndef __CLANG_LIMITS_H +#define __CLANG_LIMITS_H + +/* The system's limits.h may, in turn, try to #include_next GCC's limits.h. + Avert this #include_next madness. */ +#if defined __GNUC__ && !defined _GCC_LIMITS_H_ +#define _GCC_LIMITS_H_ +#endif /* System headers include a number of constants from POSIX in . */ #include_next @@ -90,4 +96,4 @@ #define ULLONG_MAX (__LONG_LONG_MAX__*2ULL+1ULL) #endif -#endif /* __LIMITS_H */ +#endif /* __CLANG_LIMITS_H */ diff --git a/test/Preprocessor/clang_headers.c b/test/Preprocessor/clang_headers.c new file mode 100644 index 0000000000..4fa6153459 --- /dev/null +++ b/test/Preprocessor/clang_headers.c @@ -0,0 +1,3 @@ +// RUN: clang -E %s + +#include