1770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant//===----------------------------------------------------------------------===// 2770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// 3770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// The LLVM Compiler Infrastructure 4770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// 5770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// This file is dual licensed under the MIT and the University of Illinois Open 6770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// Source Licenses. See LICENSE.TXT for details. 7770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// 8770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant//===----------------------------------------------------------------------===// 9770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant 10770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// <atomic> 11770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant 12770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<char> atomic_char; 13770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<signed char> atomic_schar; 14770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<unsigned char> atomic_uchar; 15770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<short> atomic_short; 16770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<unsigned short> atomic_ushort; 17770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<int> atomic_int; 18770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<unsigned int> atomic_uint; 19770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<long> atomic_long; 20770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<unsigned long> atomic_ulong; 21770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<long long> atomic_llong; 22770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<unsigned long long> atomic_ullong; 23770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<char16_t> atomic_char16_t; 24770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<char32_t> atomic_char32_t; 25770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant// typedef atomic<wchar_t> atomic_wchar_t; 26770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant 27770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant#include <atomic> 28770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant#include <type_traits> 29770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant 30770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnantint main() 31770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant{ 32770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<char>, std::atomic_char>::value), ""); 33770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<signed char>, std::atomic_schar>::value), ""); 34770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<unsigned char>, std::atomic_uchar>::value), ""); 35770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<short>, std::atomic_short>::value), ""); 36770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<unsigned short>, std::atomic_ushort>::value), ""); 37770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<int>, std::atomic_int>::value), ""); 38770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<unsigned int>, std::atomic_uint>::value), ""); 39770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<long>, std::atomic_long>::value), ""); 40770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<unsigned long>, std::atomic_ulong>::value), ""); 41770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<long long>, std::atomic_llong>::value), ""); 42770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<unsigned long long>, std::atomic_ullong>::value), ""); 43770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<wchar_t>, std::atomic_wchar_t>::value), ""); 44770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS 45770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<char16_t>, std::atomic_char16_t>::value), ""); 46770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant static_assert((std::is_same<std::atomic<char32_t>, std::atomic_char32_t>::value), ""); 47770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant#endif // _LIBCPP_HAS_NO_UNICODE_CHARS 48770d1c4ea75402457c5ed3895b5ec044defce01cHoward Hinnant} 49