From 4299992823c46ff6fe09d59c35019f6893526464 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Wed, 14 Oct 2009 23:50:09 +0000 Subject: [PATCH] c++config: Do not disable extern templates for string in plain parallel-mode and in... 2009-10-14 Paolo Carlini * include/bits/c++config: Do not disable extern templates for string in plain parallel-mode and in profile-mode; add comment explaining _GLIBCXX_EXTERN_TEMPLATE == -1. From-SVN: r152789 --- libstdc++-v3/ChangeLog | 8 +++++++- libstdc++-v3/include/bits/c++config | 6 ++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 35c1f3a4d7b3..55970ae4c734 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,6 +1,12 @@ +2009-10-14 Paolo Carlini + + * include/bits/c++config: Do not disable extern templates for string + in plain parallel-mode and in profile-mode; add comment explaining + _GLIBCXX_EXTERN_TEMPLATE == -1. + 2009-10-14 Jason Merrill - * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust expecteds. + * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust expected. 2009-10-13 Paolo Carlini diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 724f373ebae8..f4f1f8b901f8 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -147,7 +147,6 @@ # define _GLIBCXX_STD __cxx1998 # define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { # define _GLIBCXX_END_NAMESPACE } -# define _GLIBCXX_EXTERN_TEMPLATE -1 # endif // debug + parallel @@ -172,7 +171,6 @@ # define _GLIBCXX_STD __cxx1998 # define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { # define _GLIBCXX_END_NAMESPACE } -# define _GLIBCXX_EXTERN_TEMPLATE -1 # endif # if __NO_INLINE__ && !__GXX_WEAK__ @@ -287,6 +285,10 @@ namespace std // library to avoid multiple weak definitions for required types that // are already explicitly instantiated in the library binary. This // substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. #ifndef _GLIBCXX_EXTERN_TEMPLATE # define _GLIBCXX_EXTERN_TEMPLATE 1 #endif