[multiple changes]
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 10 Apr 2008 20:26:45 +0000 (20:26 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 10 Apr 2008 20:26:45 +0000 (20:26 +0000)
commitd466a7e21c61360550e04a66dcd2cacd5172d672
treedc0bf9fb108791fffd3d1c8bee85cb81446f702c
parent4514bed67d02fb39eeab73eb029e3860a21b3d3a
[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
51 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/Makefile.in
libstdc++-v3/acinclude.m4
libstdc++-v3/config.h.in
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/configure
libstdc++-v3/configure.ac
libstdc++-v3/doc/Makefile.in
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/c++config
libstdc++-v3/include/c_compatibility/stdatomic.h [new file with mode: 0644]
libstdc++-v3/include/c_global/cstdatomic [new file with mode: 0644]
libstdc++-v3/include/ext/typelist.h
libstdc++-v3/libmath/Makefile.in
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/po/Makefile.in
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/atomic.cc [new file with mode: 0644]
libstdc++-v3/testsuite/17_intro/headers/c++200x/all.cc
libstdc++-v3/testsuite/29_atomics/atomic/cons/assign_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic/cons/copy_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic/cons/explicit_value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/aggregate.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/assign_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/copy_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_address/cons/explicit_value.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/atomic_global_fence_compatibility.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/aggregate.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/assign_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/copy_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/cons/default.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.c [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.c [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/macros.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/functions.c [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/macros.c [new file with mode: 0644]
libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/types.c [new file with mode: 0644]
libstdc++-v3/testsuite/Makefile.in
libstdc++-v3/testsuite/lib/libstdc++.exp
libstdc++-v3/testsuite/util/testsuite_common_types.h