diff options
| author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-10 20:26:45 +0000 |
|---|---|---|
| committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-10 20:26:45 +0000 |
| commit | 857d9b7bdf139c12a8bf7483f712f59cf047c698 (patch) | |
| tree | dc0bf9fb108791fffd3d1c8bee85cb81446f702c /libstdc++-v3/include/bits/c++config | |
| parent | 8965c2646dd063b1468e923de148bbcc90ae3a93 (diff) | |
| download | ppe42-gcc-857d9b7bdf139c12a8bf7483f712f59cf047c698.tar.gz ppe42-gcc-857d9b7bdf139c12a8bf7483f712f59cf047c698.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134174 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/bits/c++config')
| -rw-r--r-- | libstdc++-v3/include/bits/c++config | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index d42cb9feb47..e38cfe05184 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -1,7 +1,7 @@ // Predefined symbols and macros -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007 Free Software Foundation, Inc. +// 2006, 2007, 2008 Free Software Foundation, Inc. // // 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 @@ -216,6 +216,20 @@ namespace std } #endif +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++, same with namespaces. +#if __cplusplus +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } +#else +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +#endif + // Define if compatibility should be provided for -mlong-double-64. #undef _GLIBCXX_LONG_DOUBLE_COMPAT |

