1 // { dg-options "-x c" }
4 // Copyright (C) 2008, 2009 Free Software Foundation, Inc.
6 // This file is part of the GNU ISO C++ Library. This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING3. If not see
19 // <http://www.gnu.org/licenses/>.
21 #include <stdatomic.h>
25 typedef memory_order t_01;
26 memory_order t_02 __attribute__((unused)) = memory_order_relaxed;
27 memory_order t_03 __attribute__((unused)) = memory_order_acquire;
28 memory_order t_04 __attribute__((unused)) = memory_order_release;
29 memory_order t_05 __attribute__((unused)) = memory_order_acq_rel;
30 memory_order t_06 __attribute__((unused)) = memory_order_seq_cst;
32 typedef atomic_flag t_07;
34 // atomics for builtins types
35 typedef atomic_bool t_08;
36 typedef atomic_char t_09;
37 typedef atomic_schar t_10;
38 typedef atomic_uchar t_11;
39 typedef atomic_short t_12;
40 typedef atomic_ushort t_13;
41 typedef atomic_int t_14;
42 typedef atomic_uint t_15;
43 typedef atomic_long t_16;
44 typedef atomic_ulong t_17;
45 typedef atomic_llong t_18;
46 typedef atomic_ullong t_19;
47 typedef atomic_wchar_t t_20;
48 typedef atomic_char16_t t_21;
49 typedef atomic_char32_t t_22;
51 // atomics for standard typedefs
52 typedef atomic_int_least8_t t_23;
53 typedef atomic_uint_least8_t t_24;
54 typedef atomic_int_least16_t t_25;
55 typedef atomic_uint_least16_t t_26;
56 typedef atomic_int_least32_t t_27;
57 typedef atomic_uint_least32_t t_28;
58 typedef atomic_int_least64_t t_29;
59 typedef atomic_uint_least64_t t_30;
60 typedef atomic_int_fast8_t t_31;
61 typedef atomic_uint_fast8_t t_32;
62 typedef atomic_int_fast16_t t_33;
63 typedef atomic_uint_fast16_t t_34;
64 typedef atomic_int_fast32_t t_35;
65 typedef atomic_uint_fast32_t t_36;
66 typedef atomic_int_fast64_t t_37;
67 typedef atomic_uint_fast64_t t_38;
68 typedef atomic_intptr_t t_39;
69 typedef atomic_uintptr_t t_40;
70 typedef atomic_size_t t_41;
71 typedef atomic_ssize_t t_42;
72 typedef atomic_ptrdiff_t t_43;
73 typedef atomic_intmax_t t_44;
74 typedef atomic_uintmax_t t_45;
76 typedef atomic_address t_46;