Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: include/__config

Issue 1441603003: Cherry-pick upstream r252457 (Closed) Base URL: https://chromium.googlesource.com/a/native_client/pnacl-libcxx.git@master
Patch Set: Use __musl__ define to detect musl Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | include/__locale » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // -*- C++ -*- 1 // -*- C++ -*-
2 //===--------------------------- __config ---------------------------------===// 2 //===--------------------------- __config ---------------------------------===//
3 // 3 //
4 // The LLVM Compiler Infrastructure 4 // The LLVM Compiler Infrastructure
5 // 5 //
6 // This file is dual licensed under the MIT and the University of Illinois Open 6 // This file is dual licensed under the MIT and the University of Illinois Open
7 // Source Licenses. See LICENSE.TXT for details. 7 // Source Licenses. See LICENSE.TXT for details.
8 // 8 //
9 //===----------------------------------------------------------------------===// 9 //===----------------------------------------------------------------------===//
10 10
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 # endif 111 # endif
112 #endif // __sun__ 112 #endif // __sun__
113 113
114 #if defined(__native_client__) 114 #if defined(__native_client__)
115 // NaCl's sandbox (which PNaCl also runs in) doesn't allow filesystem access, 115 // NaCl's sandbox (which PNaCl also runs in) doesn't allow filesystem access,
116 // including accesses to the special files under /dev. C++11's 116 // including accesses to the special files under /dev. C++11's
117 // std::random_device is instead exposed through a NaCl syscall. 117 // std::random_device is instead exposed through a NaCl syscall.
118 # define _LIBCPP_USING_NACL_RANDOM 118 # define _LIBCPP_USING_NACL_RANDOM
119 #endif // defined(__native_client__) 119 #endif // defined(__native_client__)
120 120
121 #ifdef __musl__
122 #define _LIBCPP_HAS_MUSL_LIBC
123 #endif // defined(__musl__)
124
121 #if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN) 125 #if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN)
122 # include <endian.h> 126 # include <endian.h>
123 # if __BYTE_ORDER == __LITTLE_ENDIAN 127 # if __BYTE_ORDER == __LITTLE_ENDIAN
124 # define _LIBCPP_LITTLE_ENDIAN 1 128 # define _LIBCPP_LITTLE_ENDIAN 1
125 # define _LIBCPP_BIG_ENDIAN 0 129 # define _LIBCPP_BIG_ENDIAN 0
126 # elif __BYTE_ORDER == __BIG_ENDIAN 130 # elif __BYTE_ORDER == __BIG_ENDIAN
127 # define _LIBCPP_LITTLE_ENDIAN 0 131 # define _LIBCPP_LITTLE_ENDIAN 0
128 # define _LIBCPP_BIG_ENDIAN 1 132 # define _LIBCPP_BIG_ENDIAN 1
129 # else // __BYTE_ORDER == __BIG_ENDIAN 133 # else // __BYTE_ORDER == __BIG_ENDIAN
130 # error unable to determine endian 134 # error unable to determine endian
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 #define _LIBCPP_HAS_NO_CXX14_CONSTEXPR 329 #define _LIBCPP_HAS_NO_CXX14_CONSTEXPR
326 #endif 330 #endif
327 331
328 #if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L 332 #if __ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L
329 #if defined(__FreeBSD__) 333 #if defined(__FreeBSD__)
330 #define _LIBCPP_HAS_QUICK_EXIT 334 #define _LIBCPP_HAS_QUICK_EXIT
331 #define _LIBCPP_HAS_C11_FEATURES 335 #define _LIBCPP_HAS_C11_FEATURES
332 #elif defined(__ANDROID__) 336 #elif defined(__ANDROID__)
333 #define _LIBCPP_HAS_QUICK_EXIT 337 #define _LIBCPP_HAS_QUICK_EXIT
334 #elif defined(__linux__) 338 #elif defined(__linux__)
335 #include <features.h> 339 #if !defined(_LIBCPP_HAS_MUSL_LIBC)
340 # include <features.h>
336 #if __GLIBC_PREREQ(2, 15) 341 #if __GLIBC_PREREQ(2, 15)
337 #define _LIBCPP_HAS_QUICK_EXIT 342 #define _LIBCPP_HAS_QUICK_EXIT
338 #endif 343 #endif
339 #if __GLIBC_PREREQ(2, 17) 344 #if __GLIBC_PREREQ(2, 17)
340 #define _LIBCPP_HAS_C11_FEATURES 345 #define _LIBCPP_HAS_C11_FEATURES
341 #endif 346 #endif
347 #else // defined(_LIBCPP_HAS_MUSL_LIBC)
348 #define _LIBCPP_HAS_QUICK_EXIT
349 #define _LIBCPP_HAS_C11_FEATURES
342 #endif 350 #endif
351 #endif // __linux__
343 #endif 352 #endif
344 353
345 #if (__has_feature(cxx_noexcept)) 354 #if (__has_feature(cxx_noexcept))
346 # define _NOEXCEPT noexcept 355 # define _NOEXCEPT noexcept
347 # define _NOEXCEPT_(x) noexcept(x) 356 # define _NOEXCEPT_(x) noexcept(x)
348 # define _NOEXCEPT_OR_FALSE(x) noexcept(x) 357 # define _NOEXCEPT_OR_FALSE(x) noexcept(x)
349 #else 358 #else
350 # define _NOEXCEPT throw() 359 # define _NOEXCEPT throw()
351 # define _NOEXCEPT_(x) 360 # define _NOEXCEPT_(x)
352 # define _NOEXCEPT_OR_FALSE(x) false 361 # define _NOEXCEPT_OR_FALSE(x) false
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after
711 # elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI) 720 # elif (defined(_MSC_VER) && !defined(__clang__)) && !defined(_CPPRTTI)
712 # define _LIBCPP_NO_RTTI 721 # define _LIBCPP_NO_RTTI
713 # endif 722 # endif
714 #endif 723 #endif
715 724
716 #ifndef _LIBCPP_WEAK 725 #ifndef _LIBCPP_WEAK
717 # define _LIBCPP_WEAK __attribute__((__weak__)) 726 # define _LIBCPP_WEAK __attribute__((__weak__))
718 #endif 727 #endif
719 728
720 #endif // _LIBCPP_CONFIG 729 #endif // _LIBCPP_CONFIG
OLDNEW
« no previous file with comments | « no previous file | include/__locale » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698