[libcxx-commits] [libcxx] r368880 - [libc++] Do not define _LIBCPP_CLANG_VER for non-LLVM Clang

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Aug 14 10:01:09 PDT 2019


Author: ldionne
Date: Wed Aug 14 10:01:08 2019
New Revision: 368880

URL: http://llvm.org/viewvc/llvm-project?rev=368880&view=rev
Log:
[libc++] Do not define _LIBCPP_CLANG_VER for non-LLVM Clang

In r292833, we started defining _LIBCPP_CLANG_VER to 0 for Apple Clang.
The result is that AppleClang is detected as being a very old version
of LLVM Clang (version 0), which is obviously incorrect.

I believe this was added so that we don't have to check whether
_LIBCPP_CLANG_VER is defined prior to comparing it with a number
(which can trigger a warning). This commit also fixes the two
places that use the macro correspondingly.

Modified:
    libcxx/trunk/include/__config

Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=368880&r1=368879&r2=368880&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Wed Aug 14 10:01:08 2019
@@ -183,10 +183,6 @@
 #  define _LIBCPP_COMPILER_IBM
 #endif
 
-#ifndef _LIBCPP_CLANG_VER
-#define _LIBCPP_CLANG_VER 0
-#endif
-
 #if defined(_LIBCPP_COMPILER_GCC) && __cplusplus < 201103L
 #error "libc++ does not support using GCC with C++03. Please enable C++11"
 #endif
@@ -484,7 +480,7 @@ typedef __char32_t char32_t;
 #define _LIBCPP_ALWAYS_INLINE __attribute__ ((__always_inline__))
 
 // No apple compilers support ""d and ""y at this time.
-#if _LIBCPP_CLANG_VER < 800 || defined(__apple_build_version__)
+#if (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER < 800) || defined(__apple_build_version__)
 #define	_LIBCPP_HAS_NO_CXX20_CHRONO_LITERALS
 #endif
 
@@ -1242,7 +1238,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit
 
 #ifndef _LIBCPP_NODEBUG_TYPE
 #if __has_attribute(__nodebug__) && \
-    (defined(_LIBCPP_COMPILER_CLANG) && _LIBCPP_CLANG_VER >= 900)
+    (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 900)
 #define _LIBCPP_NODEBUG_TYPE __attribute__((nodebug))
 #else
 #define _LIBCPP_NODEBUG_TYPE




More information about the libcxx-commits mailing list