OSDN Git Service

2008-04-10 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / testsuite / 29_atomics / headers / stdatomic.h / types.c
1 // { dg-options "-x c" }
2 // { dg-do compile }
3
4 // Copyright (C) 2008 Free Software Foundation, Inc.
5 //
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 2, or (at your option)
10 // any later version.
11 //
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.
16 //
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING.  If not, write to the Free
19 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
20 // USA.
21
22 #include <stdatomic.h>
23
24 void test01()
25 {
26   typedef memory_order t_01;
27   memory_order t_02 = memory_order_relaxed;
28   memory_order t_03 = memory_order_acquire;
29   memory_order t_04 = memory_order_release;
30   memory_order t_05 = memory_order_acq_rel;
31   memory_order t_06 = memory_order_seq_cst;
32
33   typedef atomic_flag t_07;
34
35   // atomics for builtins types
36   typedef atomic_bool t_08;
37   typedef atomic_char t_09;
38   typedef atomic_schar t_10;
39   typedef atomic_uchar t_11;
40   typedef atomic_short t_12;
41   typedef atomic_ushort t_13;
42   typedef atomic_int t_14;
43   typedef atomic_uint t_15;
44   typedef atomic_long t_16;
45   typedef atomic_ulong t_17;
46   typedef atomic_llong t_18;
47   typedef atomic_ullong t_19;
48   typedef atomic_wchar_t t_20;
49   typedef atomic_char16_t t_21;
50   typedef atomic_char32_t t_22;
51
52   // atomics for standard typedefs
53   typedef atomic_int_least8_t t_23;
54   typedef atomic_uint_least8_t t_24;
55   typedef atomic_int_least16_t t_25;
56   typedef atomic_uint_least16_t t_26;
57   typedef atomic_int_least32_t t_27;
58   typedef atomic_uint_least32_t t_28;
59   typedef atomic_int_least64_t t_29;
60   typedef atomic_uint_least64_t t_30;
61   typedef atomic_int_fast8_t t_31;
62   typedef atomic_uint_fast8_t t_32;
63   typedef atomic_int_fast16_t t_33;
64   typedef atomic_uint_fast16_t t_34;
65   typedef atomic_int_fast32_t t_35;
66   typedef atomic_uint_fast32_t t_36;
67   typedef atomic_int_fast64_t t_37;
68   typedef atomic_uint_fast64_t t_38;
69   typedef atomic_intptr_t t_39;
70   typedef atomic_uintptr_t t_40;
71   typedef atomic_size_t t_41;
72   typedef atomic_ssize_t t_42;
73   typedef atomic_ptrdiff_t t_43;
74   typedef atomic_intmax_t t_44;
75   typedef atomic_uintmax_t t_45;
76
77   typedef atomic_address t_46;
78
79   &atomic_global_fence_compatibility;
80 }