]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/29_atomics/headers/atomic/macros.cc
Remove unwanted svn:executable properties that svn add had decided to add.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 29_atomics / headers / atomic / macros.cc
CommitLineData
d466a7e2
BK
1// { dg-options "-std=gnu++0x" }
2// { dg-do compile }
3
94a86be0 4// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
d466a7e2
BK
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
748086b7 9// Free Software Foundation; either version 3, or (at your option)
d466a7e2
BK
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
748086b7
JJ
18// with this library; see the file COPYING3. If not see
19// <http://www.gnu.org/licenses/>.
d466a7e2 20
afd88205 21#include <atomic>
d466a7e2
BK
22
23namespace gnu
24{
94a86be0
BK
25#ifndef ATOMIC_CHAR_LOCK_FREE
26# error "ATOMIC_CHAR_LOCK_FREE must be a macro"
50ce8d3d 27#else
94a86be0
BK
28# if ATOMIC_CHAR_LOCK_FREE != 0 \
29 && ATOMIC_CHAR_LOCK_FREE != 1 && ATOMIC_CHAR_LOCK_FREE != 2
30# error "ATOMIC_CHAR_LOCK_FREE must be 0, 1, or 2"
31# endif
32#endif
33
34#ifndef ATOMIC_CHAR16_T_LOCK_FREE
35# error "ATOMIC_CHAR16_T_LOCK_FREE must be a macro"
36#else
37# if ATOMIC_CHAR16_T_LOCK_FREE != 0 \
38 && ATOMIC_CHAR16_T_LOCK_FREE != 1 && ATOMIC_CHAR16_T_LOCK_FREE != 2
39# error "ATOMIC_CHAR16_T_LOCK_FREE must be 0, 1, or 2"
40# endif
41#endif
42
43#ifndef ATOMIC_CHAR32_T_LOCK_FREE
44# error "ATOMIC_CHAR32_T_LOCK_FREE must be a macro"
45#else
46# if ATOMIC_CHAR32_T_LOCK_FREE != 0 \
47 && ATOMIC_CHAR32_T_LOCK_FREE != 1 && ATOMIC_CHAR32_T_LOCK_FREE != 2
48# error "ATOMIC_CHAR32_T_LOCK_FREE must be 0, 1, or 2"
49# endif
50#endif
51
52#ifndef ATOMIC_WCHAR_T_LOCK_FREE
53# error "ATOMIC_WCHAR_T_LOCK_FREE must be a macro"
54#else
55# if ATOMIC_WCHAR_T_LOCK_FREE != 0 \
56 && ATOMIC_WCHAR_T_LOCK_FREE != 1 && ATOMIC_WCHAR_T_LOCK_FREE != 2
57# error "ATOMIC_WCHAR_T_LOCK_FREE must be 0, 1, or 2"
58# endif
59#endif
60
61#ifndef ATOMIC_SHORT_LOCK_FREE
62# error "ATOMIC_SHORT_LOCK_FREE must be a macro"
63#else
64# if ATOMIC_SHORT_LOCK_FREE != 0 \
65 && ATOMIC_SHORT_LOCK_FREE != 1 && ATOMIC_SHORT_LOCK_FREE != 2
66# error "ATOMIC_SHORT_LOCK_FREE must be 0, 1, or 2"
67# endif
68#endif
69
70#ifndef ATOMIC_INT_LOCK_FREE
71# error "ATOMIC_INT_LOCK_FREE must be a macro"
72#else
73# if ATOMIC_INT_LOCK_FREE != 0 \
74 && ATOMIC_INT_LOCK_FREE != 1 && ATOMIC_INT_LOCK_FREE != 2
75# error "ATOMIC_INT_LOCK_FREE must be 0, 1, or 2"
76# endif
77#endif
78
79#ifndef ATOMIC_LONG_LOCK_FREE
80# error "ATOMIC_LONG_LOCK_FREE must be a macro"
81#else
82# if ATOMIC_LONG_LOCK_FREE != 0 \
83 && ATOMIC_LONG_LOCK_FREE != 1 && ATOMIC_LONG_LOCK_FREE != 2
84# error "ATOMIC_LONG_LOCK_FREE must be 0, 1, or 2"
85# endif
86#endif
87
88#ifndef ATOMIC_LLONG_LOCK_FREE
89# error "ATOMIC_LLONG_LOCK_FREE must be a macro"
90#else
91# if ATOMIC_LLONG_LOCK_FREE != 0 \
92 && ATOMIC_LLONG_LOCK_FREE != 1 && ATOMIC_LLONG_LOCK_FREE != 2
93# error "ATOMIC_LLONG_LOCK_FREE must be 0, 1, or 2"
50ce8d3d 94# endif
d466a7e2
BK
95#endif
96
d466a7e2
BK
97#ifndef ATOMIC_FLAG_INIT
98 #error "ATOMIC_FLAG_INIT_must_be_a_macro"
99#endif
94a86be0
BK
100
101#ifndef ATOMIC_VAR_INIT
102 #error "ATOMIC_VAR_INIT_must_be_a_macro"
103#endif
d466a7e2 104}