2009-10-14 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Oct 2009 23:50:09 +0000 (23:50 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Oct 2009 23:50:09 +0000 (23:50 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152789 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/c++config

index 35c1f3a..55970ae 100644 (file)
@@ -1,6 +1,12 @@
+2009-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * 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  <jason@redhat.com>
 
-       * 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  <paolo.carlini@oracle.com>
 
index 724f373..f4f1f8b 100644 (file)
 #  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
 #  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