[libcxx] r220716 - [libcxx] use clang's __char16_t and __char32_t definitions on Linux in C++03 mode.
Eric Fiselier
eric at efcs.ca
Mon Oct 27 13:29:05 PDT 2014
Author: ericwf
Date: Mon Oct 27 15:29:05 2014
New Revision: 220716
URL: http://llvm.org/viewvc/llvm-project?rev=220716&view=rev
Log:
[libcxx] use clang's __char16_t and __char32_t definitions on Linux in C++03 mode.
Summary: This fixes ODR violations in C++03 mode in test/localization/locale.stdcvt. The special case for linux was introduced in 2010 before clang always defined __char16_t and __char32_t.
Reviewers: mclow.lists, danalbert, jroelofs, EricWF
Reviewed By: EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5930
Modified:
libcxx/trunk/include/__config
Modified: libcxx/trunk/include/__config
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=220716&r1=220715&r2=220716&view=diff
==============================================================================
--- libcxx/trunk/include/__config (original)
+++ libcxx/trunk/include/__config Mon Oct 27 15:29:05 2014
@@ -226,13 +226,9 @@
#endif
#if __cplusplus < 201103L
-#ifdef __linux__
-#define _LIBCPP_HAS_NO_UNICODE_CHARS
-#else
typedef __char16_t char16_t;
typedef __char32_t char32_t;
#endif
-#endif
#if !(__has_feature(cxx_exceptions))
#define _LIBCPP_NO_EXCEPTIONS
More information about the cfe-commits
mailing list