OSDN Git Service

Add NIOS2 support. Code from SourceyG++.
[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, 2009 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 3, 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 COPYING3.  If not see
19 // <http://www.gnu.org/licenses/>.
20
21 #include <stdatomic.h>
22
23 void test01()
24 {
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;
31
32   typedef atomic_flag t_07;
33
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;
50
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;
75
76   typedef atomic_address t_46;
77 }