]>
Commit | Line | Data |
---|---|---|
d466a7e2 BK |
1 | // { dg-options "-std=gnu++0x" } |
2 | // { dg-do compile } | |
3 | ||
405feeb8 | 4 | // Copyright (C) 2008-2013 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 | 22 | |
62bad7cd AM |
23 | #ifndef ATOMIC_BOOL_LOCK_FREE |
24 | # error "ATOMIC_BOOL_LOCK_FREE must be a macro" | |
25 | #endif | |
26 | ||
94a86be0 BK |
27 | #ifndef ATOMIC_CHAR_LOCK_FREE |
28 | # error "ATOMIC_CHAR_LOCK_FREE must be a macro" | |
94a86be0 BK |
29 | #endif |
30 | ||
31 | #ifndef ATOMIC_CHAR16_T_LOCK_FREE | |
32 | # error "ATOMIC_CHAR16_T_LOCK_FREE must be a macro" | |
94a86be0 BK |
33 | #endif |
34 | ||
35 | #ifndef ATOMIC_CHAR32_T_LOCK_FREE | |
36 | # error "ATOMIC_CHAR32_T_LOCK_FREE must be a macro" | |
94a86be0 BK |
37 | #endif |
38 | ||
39 | #ifndef ATOMIC_WCHAR_T_LOCK_FREE | |
40 | # error "ATOMIC_WCHAR_T_LOCK_FREE must be a macro" | |
94a86be0 BK |
41 | #endif |
42 | ||
43 | #ifndef ATOMIC_SHORT_LOCK_FREE | |
44 | # error "ATOMIC_SHORT_LOCK_FREE must be a macro" | |
94a86be0 BK |
45 | #endif |
46 | ||
47 | #ifndef ATOMIC_INT_LOCK_FREE | |
48 | # error "ATOMIC_INT_LOCK_FREE must be a macro" | |
94a86be0 BK |
49 | #endif |
50 | ||
51 | #ifndef ATOMIC_LONG_LOCK_FREE | |
52 | # error "ATOMIC_LONG_LOCK_FREE must be a macro" | |
94a86be0 BK |
53 | #endif |
54 | ||
55 | #ifndef ATOMIC_LLONG_LOCK_FREE | |
56 | # error "ATOMIC_LLONG_LOCK_FREE must be a macro" | |
d466a7e2 BK |
57 | #endif |
58 | ||
62bad7cd AM |
59 | #ifndef ATOMIC_POINTER_LOCK_FREE |
60 | # error "ATOMIC_POINTER_LOCK_FREE must be a macro" | |
61 | #endif | |
62 | ||
d466a7e2 BK |
63 | #ifndef ATOMIC_FLAG_INIT |
64 | #error "ATOMIC_FLAG_INIT_must_be_a_macro" | |
65 | #endif | |
94a86be0 BK |
66 | |
67 | #ifndef ATOMIC_VAR_INIT | |
68 | #error "ATOMIC_VAR_INIT_must_be_a_macro" | |
69 | #endif | |
86951993 AM |
70 | |
71 | ||
72 | extern void abort(void); | |
73 | ||
a0eabe57 | 74 | int main () |
86951993 | 75 | { |
62bad7cd AM |
76 | #if (ATOMIC_BOOL_LOCK_FREE != 1 && ATOMIC_BOOL_LOCK_FREE != 2) |
77 | abort (); | |
78 | #endif | |
79 | ||
80 | #if (ATOMIC_CHAR_LOCK_FREE != 1 && ATOMIC_CHAR_LOCK_FREE != 2) | |
81 | abort (); | |
82 | #endif | |
83 | ||
84 | #if (ATOMIC_CHAR16_T_LOCK_FREE != 1 && ATOMIC_CHAR16_T_LOCK_FREE != 2) | |
86951993 | 85 | abort (); |
62bad7cd | 86 | #endif |
86951993 | 87 | |
62bad7cd | 88 | #if (ATOMIC_CHAR32_T_LOCK_FREE != 1 && ATOMIC_CHAR32_T_LOCK_FREE != 2) |
86951993 | 89 | abort (); |
62bad7cd | 90 | #endif |
86951993 | 91 | |
62bad7cd | 92 | #if (ATOMIC_WCHAR_T_LOCK_FREE != 1 && ATOMIC_WCHAR_T_LOCK_FREE != 2) |
86951993 | 93 | abort (); |
62bad7cd | 94 | #endif |
86951993 | 95 | |
62bad7cd | 96 | #if (ATOMIC_SHORT_LOCK_FREE != 1 && ATOMIC_SHORT_LOCK_FREE != 2) |
86951993 | 97 | abort (); |
62bad7cd | 98 | #endif |
86951993 | 99 | |
62bad7cd | 100 | #if (ATOMIC_INT_LOCK_FREE != 1 && ATOMIC_INT_LOCK_FREE != 2) |
86951993 | 101 | abort (); |
62bad7cd | 102 | #endif |
86951993 | 103 | |
62bad7cd | 104 | #if (ATOMIC_LONG_LOCK_FREE != 1 && ATOMIC_LONG_LOCK_FREE != 2) |
86951993 | 105 | abort (); |
62bad7cd | 106 | #endif |
86951993 | 107 | |
62bad7cd | 108 | #if (ATOMIC_LLONG_LOCK_FREE != 1 && ATOMIC_LLONG_LOCK_FREE != 2) |
86951993 | 109 | abort (); |
62bad7cd | 110 | #endif |
86951993 | 111 | |
62bad7cd | 112 | #if (ATOMIC_POINTER_LOCK_FREE != 1 && ATOMIC_POINTER_LOCK_FREE != 2) |
86951993 | 113 | abort (); |
62bad7cd | 114 | #endif |
d466a7e2 | 115 | } |