Cleanup foo.h headers and __config to work in C

llvm-svn: 252274
This commit is contained in:
Eric Fiselier 2015-11-06 06:30:12 +00:00
parent 6578f001bf
commit 60506cbcd4
6 changed files with 24 additions and 3 deletions

View File

@ -11,10 +11,16 @@
#ifndef _LIBCPP_CONFIG
#define _LIBCPP_CONFIG
#if !defined(_MSC_VER) || defined(__clang__)
#if defined(_MSC_VER) && !defined(__clang__)
#define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#endif
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#pragma GCC system_header
#endif
#ifdef __cplusplus
#ifdef __GNUC__
#define _GNUC_VER (__GNUC__ * 100 + __GNUC_MINOR__)
#else
@ -526,7 +532,6 @@ using namespace _LIBCPP_NAMESPACE __attribute__((__strong__));
#elif defined(_LIBCPP_MSVC)
#define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
#define _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
#define _LIBCPP_HAS_NO_CONSTEXPR
#define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
#define _LIBCPP_HAS_NO_VARIABLE_TEMPLATES
@ -811,4 +816,6 @@ extern "C" void __sanitizer_annotate_contiguous_container(
#define _LIBCPP_HAS_NO_ATOMIC_HEADER
#endif
#endif // __cplusplus
#endif // _LIBCPP_CONFIG

View File

@ -31,6 +31,8 @@ Macros:
#include_next <errno.h>
#ifdef __cplusplus
#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
#ifdef ELAST
@ -391,4 +393,6 @@ static const int __elast2 = 105;
#define EMLINK 9979
#endif
#endif // __cplusplus
#endif // _LIBCPP_ERRNO_H

View File

@ -68,6 +68,8 @@ Macros:
#include_next <float.h>
#ifdef __cplusplus
#ifndef FLT_EVAL_METHOD
#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
#endif
@ -76,4 +78,6 @@ Macros:
#define DECIMAL_DIG __DECIMAL_DIG__
#endif
#endif // __cplusplus
#endif // _LIBCPP_FLOAT_H

View File

@ -246,6 +246,6 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
#undef imaxabs
#undef imaxdiv
#endif
#endif // __cplusplus
#endif // _LIBCPP_INTTYPES_H

View File

@ -34,8 +34,12 @@ void longjmp(jmp_buf env, int val);
#include_next <setjmp.h>
#ifdef __cplusplus
#ifndef setjmp
#define setjmp(env) setjmp(env)
#endif
#endif // __cplusplus
#endif // _LIBCPP_SETJMP_H

View File

@ -94,6 +94,7 @@ void *aligned_alloc(size_t alignment, size_t size); // C11
#include_next <stdlib.h>
#ifdef __cplusplus
extern "C++" {
#ifdef _LIBCPP_MSVCRT
@ -123,6 +124,7 @@ inline _LIBCPP_INLINE_VISIBILITY lldiv_t div(long long __x, long long __y) _NOEX
#endif // _LIBCPP_MSVCRT / __sun__ / _AIX
} // extern "C++"
#endif // __cplusplus
#endif // _LIBCPP_STDLIB_H