111
|
1 // { dg-do run { target c++11 } }
|
|
2 // { dg-require-atomic-builtins "" }
|
|
3
|
145
|
4 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
|
111
|
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 #include <testsuite_hooks.h>
|
|
23
|
|
24 // libstdc++/60658
|
|
25
|
|
26 struct Foo {
|
|
27 char buf[1];
|
|
28 };
|
|
29
|
|
30 struct Bar {
|
|
31 char buf[100];
|
|
32 };
|
|
33
|
|
34 int
|
|
35 main ()
|
|
36 {
|
|
37 std::atomic<Foo*> a;
|
|
38 std::atomic<Bar*> b;
|
|
39
|
|
40 VERIFY (a.is_lock_free() == b.is_lock_free());
|
|
41 }
|