diff options
author | Mike Stump <mrs@apple.com> | 2009-02-12 23:06:31 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-02-12 23:06:31 +0000 |
commit | 3855b9a8f05d3f6aba14dcd9aff3147eb8ff57bd (patch) | |
tree | d60fe6c19a17c22ede7786744e320fb48bbffa4f | |
parent | 82320e94606cfb0f68c6049c070c3600f8df9081 (diff) |
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
-rw-r--r-- | lib/Headers/limits.h | 12 | ||||
-rw-r--r-- | test/Preprocessor/clang_headers.c | 3 |
2 files changed, 12 insertions, 3 deletions
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 <limits.h>. */ #include_next <limits.h> @@ -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 <limits.h> |