diff options
-rw-r--r-- | libcxx/include/__config | 11 | ||||
-rw-r--r-- | libcxx/include/errno.h | 4 | ||||
-rw-r--r-- | libcxx/include/float.h | 4 | ||||
-rw-r--r-- | libcxx/include/inttypes.h | 2 | ||||
-rw-r--r-- | libcxx/include/setjmp.h | 4 | ||||
-rw-r--r-- | libcxx/include/stdlib.h | 2 |
6 files changed, 24 insertions, 3 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index b7e3532729d..1fe96d0ba08 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -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 diff --git a/libcxx/include/errno.h b/libcxx/include/errno.h index 556ef6112ec..ee6429110cc 100644 --- a/libcxx/include/errno.h +++ b/libcxx/include/errno.h @@ -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 diff --git a/libcxx/include/float.h b/libcxx/include/float.h index f890c680851..1acfdc6188f 100644 --- a/libcxx/include/float.h +++ b/libcxx/include/float.h @@ -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 diff --git a/libcxx/include/inttypes.h b/libcxx/include/inttypes.h index 328e57e5e4e..5c5618bef88 100644 --- a/libcxx/include/inttypes.h +++ b/libcxx/include/inttypes.h @@ -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 diff --git a/libcxx/include/setjmp.h b/libcxx/include/setjmp.h index ec4a5f695f3..464b4a54089 100644 --- a/libcxx/include/setjmp.h +++ b/libcxx/include/setjmp.h @@ -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 diff --git a/libcxx/include/stdlib.h b/libcxx/include/stdlib.h index 919faa169b7..12fd676a15f 100644 --- a/libcxx/include/stdlib.h +++ b/libcxx/include/stdlib.h @@ -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 |