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