1// { dg-options "-std=gnu++0x" } 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 <atomic> 22 23void test01() 24{ 25 using std::memory_order; 26 using std::memory_order_relaxed; 27 using std::memory_order_consume; 28 using std::memory_order_acquire; 29 using std::memory_order_release; 30 using std::memory_order_acq_rel; 31 using std::memory_order_seq_cst; 32 33 using std::atomic_flag; 34 35 // atomics for builtins types 36 using std::atomic_bool; 37 using std::atomic_char; 38 using std::atomic_schar; 39 using std::atomic_uchar; 40 using std::atomic_short; 41 using std::atomic_ushort; 42 using std::atomic_int; 43 using std::atomic_uint; 44 using std::atomic_long; 45 using std::atomic_ulong; 46 using std::atomic_llong; 47 using std::atomic_ullong; 48 using std::atomic_wchar_t; 49 using std::atomic_char16_t; 50 using std::atomic_char32_t; 51 52 // atomics for standard typedefs 53 using std::atomic_int_least8_t; 54 using std::atomic_uint_least8_t; 55 using std::atomic_int_least16_t; 56 using std::atomic_uint_least16_t; 57 using std::atomic_int_least32_t; 58 using std::atomic_uint_least32_t; 59 using std::atomic_int_least64_t; 60 using std::atomic_uint_least64_t; 61 using std::atomic_int_fast8_t; 62 using std::atomic_uint_fast8_t; 63 using std::atomic_int_fast16_t; 64 using std::atomic_uint_fast16_t; 65 using std::atomic_int_fast32_t; 66 using std::atomic_uint_fast32_t; 67 using std::atomic_int_fast64_t; 68 using std::atomic_uint_fast64_t; 69 using std::atomic_intptr_t; 70 using std::atomic_uintptr_t; 71 using std::atomic_size_t; 72 using std::atomic_ssize_t; 73 using std::atomic_ptrdiff_t; 74 using std::atomic_intmax_t; 75 using std::atomic_uintmax_t; 76 77 using std::atomic_address; 78} 79