gcc/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/functions.c

37 lines
1.1 KiB
C
Raw Normal View History

[multiple changes] 2008-04-10 Benjamin Kosnik <bkoz@redhat.com> * include/c_global/cstdatomic: C++ types only, format, doxygen markup. * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup. * src/atomic.c: Format, doxygen markup, edits. * include/Makefile.am (cstdatomic, stdatomic.h): Add. * src/Makefile.am (atomic.c): Add. * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New. * configure.ac: Call it. * include/Makefile.in: Regenerate. * src/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * testsuite/Makefile.in: Same. * libsupc++/Makefile.in: Same. * config.h.in: Same. * configure: Same. * config/abi/pre/gnu.ver: Add atomics exports. * include/ext/typelist.h (apply_generator): New. * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New. (_GLIBCXX_END_EXTERN_C): New. Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when compiling as C. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L flag for libstdc++. * testsuite/util/testsuite_common_types.h (integral_types): New typelist. (atomics, atomics_tl): Same. (assignable, default_constructible, copy_constructible, explicit_value_constructible): New. * testsuite/17_intro/headers/c++200x/all.cc: Test new headers. * testsuite/29_atomics: New. * testsuite/29_atomics/atomic_address: Same. * testsuite/29_atomics/atomic_address/cons: Same. * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag: Same. * testsuite/29_atomics/atomic_flag/cons: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements: Same. * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/ atomic_global_fence_compatibility.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers: Same. * testsuite/29_atomics/headers/cstdatomic: Same. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same. * testsuite/29_atomics/headers/stdatomic.h: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/atomic: Same. * testsuite/29_atomics/atomic/cons: Same. * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/requirements: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. 2008-04-10 Lawrence Crowl <crowl@google.com> * include/c_global/cstdatomic: New. * include/c_compatibility/stdatomic.h: New. * src/atomic.c: New. From-SVN: r134174
2008-04-10 22:26:45 +02:00
// { dg-options "-x c" }
// { dg-do compile }
// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
[multiple changes] 2008-04-10 Benjamin Kosnik <bkoz@redhat.com> * include/c_global/cstdatomic: C++ types only, format, doxygen markup. * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup. * src/atomic.c: Format, doxygen markup, edits. * include/Makefile.am (cstdatomic, stdatomic.h): Add. * src/Makefile.am (atomic.c): Add. * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New. * configure.ac: Call it. * include/Makefile.in: Regenerate. * src/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * testsuite/Makefile.in: Same. * libsupc++/Makefile.in: Same. * config.h.in: Same. * configure: Same. * config/abi/pre/gnu.ver: Add atomics exports. * include/ext/typelist.h (apply_generator): New. * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New. (_GLIBCXX_END_EXTERN_C): New. Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when compiling as C. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L flag for libstdc++. * testsuite/util/testsuite_common_types.h (integral_types): New typelist. (atomics, atomics_tl): Same. (assignable, default_constructible, copy_constructible, explicit_value_constructible): New. * testsuite/17_intro/headers/c++200x/all.cc: Test new headers. * testsuite/29_atomics: New. * testsuite/29_atomics/atomic_address: Same. * testsuite/29_atomics/atomic_address/cons: Same. * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag: Same. * testsuite/29_atomics/atomic_flag/cons: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements: Same. * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/ atomic_global_fence_compatibility.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers: Same. * testsuite/29_atomics/headers/cstdatomic: Same. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same. * testsuite/29_atomics/headers/stdatomic.h: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/atomic: Same. * testsuite/29_atomics/atomic/cons: Same. * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/requirements: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. 2008-04-10 Lawrence Crowl <crowl@google.com> * include/c_global/cstdatomic: New. * include/c_compatibility/stdatomic.h: New. * src/atomic.c: New. From-SVN: r134174
2008-04-10 22:26:45 +02:00
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
[multiple changes] 2008-04-10 Benjamin Kosnik <bkoz@redhat.com> * include/c_global/cstdatomic: C++ types only, format, doxygen markup. * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup. * src/atomic.c: Format, doxygen markup, edits. * include/Makefile.am (cstdatomic, stdatomic.h): Add. * src/Makefile.am (atomic.c): Add. * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New. * configure.ac: Call it. * include/Makefile.in: Regenerate. * src/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * testsuite/Makefile.in: Same. * libsupc++/Makefile.in: Same. * config.h.in: Same. * configure: Same. * config/abi/pre/gnu.ver: Add atomics exports. * include/ext/typelist.h (apply_generator): New. * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New. (_GLIBCXX_END_EXTERN_C): New. Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when compiling as C. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L flag for libstdc++. * testsuite/util/testsuite_common_types.h (integral_types): New typelist. (atomics, atomics_tl): Same. (assignable, default_constructible, copy_constructible, explicit_value_constructible): New. * testsuite/17_intro/headers/c++200x/all.cc: Test new headers. * testsuite/29_atomics: New. * testsuite/29_atomics/atomic_address: Same. * testsuite/29_atomics/atomic_address/cons: Same. * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag: Same. * testsuite/29_atomics/atomic_flag/cons: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements: Same. * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/ atomic_global_fence_compatibility.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers: Same. * testsuite/29_atomics/headers/cstdatomic: Same. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same. * testsuite/29_atomics/headers/stdatomic.h: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/atomic: Same. * testsuite/29_atomics/atomic/cons: Same. * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/requirements: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. 2008-04-10 Lawrence Crowl <crowl@google.com> * include/c_global/cstdatomic: New. * include/c_compatibility/stdatomic.h: New. * src/atomic.c: New. From-SVN: r134174
2008-04-10 22:26:45 +02:00
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
[multiple changes] 2008-04-10 Benjamin Kosnik <bkoz@redhat.com> * include/c_global/cstdatomic: C++ types only, format, doxygen markup. * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup. * src/atomic.c: Format, doxygen markup, edits. * include/Makefile.am (cstdatomic, stdatomic.h): Add. * src/Makefile.am (atomic.c): Add. * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New. * configure.ac: Call it. * include/Makefile.in: Regenerate. * src/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * testsuite/Makefile.in: Same. * libsupc++/Makefile.in: Same. * config.h.in: Same. * configure: Same. * config/abi/pre/gnu.ver: Add atomics exports. * include/ext/typelist.h (apply_generator): New. * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New. (_GLIBCXX_END_EXTERN_C): New. Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when compiling as C. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L flag for libstdc++. * testsuite/util/testsuite_common_types.h (integral_types): New typelist. (atomics, atomics_tl): Same. (assignable, default_constructible, copy_constructible, explicit_value_constructible): New. * testsuite/17_intro/headers/c++200x/all.cc: Test new headers. * testsuite/29_atomics: New. * testsuite/29_atomics/atomic_address: Same. * testsuite/29_atomics/atomic_address/cons: Same. * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag: Same. * testsuite/29_atomics/atomic_flag/cons: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements: Same. * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/ atomic_global_fence_compatibility.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers: Same. * testsuite/29_atomics/headers/cstdatomic: Same. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same. * testsuite/29_atomics/headers/stdatomic.h: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/atomic: Same. * testsuite/29_atomics/atomic/cons: Same. * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/requirements: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. 2008-04-10 Lawrence Crowl <crowl@google.com> * include/c_global/cstdatomic: New. * include/c_compatibility/stdatomic.h: New. * src/atomic.c: New. From-SVN: r134174
2008-04-10 22:26:45 +02:00
#include <stdatomic.h>
int main()
{
atomic: Update to N3000. 2009-12-20 Benjamin Kosnik <bkoz@redhat.com> * include/std/atomic: Update to N3000. * include/bits/atomic_0.h: Same. * include/bits/atomic_2.h: Same. * include/c_global/cstdatomic: Move... * include/bits/atomic_base.h: ...here. * include/c_compatibility/stdatomic.h: Just include atomic_base.h. * include/precompiled/stdc++.h: Adjust includes. * include/Makefile.am: Adjust files. * include/Makefile.in: Regenerate. * include/std/future: Adjust. * src/atomic.cc: Adjust, adjust exports for compatibility. * src/compatibility.cc: Move C++0x stuff... * src/compatibility-c++0x.cc: ...here. * doc/xml/manual/using.xml: Update. * doc/xml/manual/status_cxx200x.xml: Update. * doc/doxygen/user.cfg.in: Update. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/single_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_address/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_address/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/single_value.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_integral/cons/default.cc: Same. * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: Same. * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: Same. * testsuite/29_atomics/atomic_integral/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/ integral_assignment.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same. * testsuite/29_atomics/atomic_integral/operators/increment.cc: Same. * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: Same. * testsuite/29_atomics/atomic_integral/operators/decrement.cc: Same. * testsuite/29_atomics/atomic_integral/operators/ integral_conversion.cc: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements/ standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same. * testsuite/29_atomics/atomic_flag/clear/1.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/single_value.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/cons/copy_list.cc: Same. * testsuite/29_atomics/atomic/cons/direct_list.cc: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. * testsuite/29_atomics/atomic/requirements/base_classes.cc: Same. * testsuite/29_atomics/atomic/operators/integral_assignment.cc: Same. * testsuite/29_atomics/atomic/operators/integral_conversion.cc: Same. * testsuite/util/testsuite_common_types.h: Adjust. * testsuite/29_atomics/headers/cstdatomic: Move and adjust... * testsuite/29_atomics/headers/atomic: ...here. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/atomic/macros.cc: Same. * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Add. * testsuite/29_atomics/atomic/cons/user_pod.cc: Add. From-SVN: r155377
2009-12-21 20:00:34 +01:00
atomic_flag f;
atomic_flag* p = &f;
[multiple changes] 2008-04-10 Benjamin Kosnik <bkoz@redhat.com> * include/c_global/cstdatomic: C++ types only, format, doxygen markup. * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup. * src/atomic.c: Format, doxygen markup, edits. * include/Makefile.am (cstdatomic, stdatomic.h): Add. * src/Makefile.am (atomic.c): Add. * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New. * configure.ac: Call it. * include/Makefile.in: Regenerate. * src/Makefile.in: Same. * Makefile.in: Same. * doc/Makefile.in: Same. * po/Makefile.in: Same. * libmath/Makefile.in: Same. * include/Makefile.in: Same. * testsuite/Makefile.in: Same. * libsupc++/Makefile.in: Same. * config.h.in: Same. * configure: Same. * config/abi/pre/gnu.ver: Add atomics exports. * include/ext/typelist.h (apply_generator): New. * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New. (_GLIBCXX_END_EXTERN_C): New. Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when compiling as C. * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L flag for libstdc++. * testsuite/util/testsuite_common_types.h (integral_types): New typelist. (atomics, atomics_tl): Same. (assignable, default_constructible, copy_constructible, explicit_value_constructible): New. * testsuite/17_intro/headers/c++200x/all.cc: Test new headers. * testsuite/29_atomics: New. * testsuite/29_atomics/atomic_address: Same. * testsuite/29_atomics/atomic_address/cons: Same. * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_address/cons/default.cc: Same. * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag: Same. * testsuite/29_atomics/atomic_flag/cons: Same. * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic_flag/cons/default.cc: Same. * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same. * testsuite/29_atomics/atomic_flag/requirements: Same. * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: Same. * testsuite/29_atomics/atomic_flag/ atomic_global_fence_compatibility.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same. * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same. * testsuite/29_atomics/headers: Same. * testsuite/29_atomics/headers/cstdatomic: Same. * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same. * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same. * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same. * testsuite/29_atomics/headers/stdatomic.h: Same. * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same. * testsuite/29_atomics/headers/stdatomic.h/types.c: Same. * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same. * testsuite/29_atomics/atomic: Same. * testsuite/29_atomics/atomic/cons: Same. * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same. * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same. * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same. * testsuite/29_atomics/atomic/cons/default.cc: Same. * testsuite/29_atomics/atomic/requirements: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same. * testsuite/29_atomics/atomic/requirements/explicit_instantiation/ 1.cc: Same. 2008-04-10 Lawrence Crowl <crowl@google.com> * include/c_global/cstdatomic: New. * include/c_compatibility/stdatomic.h: New. * src/atomic.c: New. From-SVN: r134174
2008-04-10 22:26:45 +02:00
memory_order m = memory_order_relaxed;
// For position only.
atomic_flag_test_and_set(p);
atomic_flag_test_and_set_explicit(p, m);
atomic_flag_clear(p);
atomic_flag_clear_explicit(p, m);
return 0;
}