aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2009-10-14 23:50:09 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2009-10-14 23:50:09 +0000
commit4299992823c46ff6fe09d59c35019f6893526464 (patch)
tree6d506e8d2cc1365c4974dd076c3058f9d6c57c49
parent4c0a0455ea294773f73269bbc379d73d0ec8ee2d (diff)
downloadgcc-4299992823c46ff6fe09d59c35019f6893526464.zip
gcc-4299992823c46ff6fe09d59c35019f6893526464.tar.gz
gcc-4299992823c46ff6fe09d59c35019f6893526464.tar.bz2
c++config: Do not disable extern templates for string in plain parallel-mode and in...
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. From-SVN: r152789
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/c++config6
2 files changed, 11 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 35c1f3a..55970ae 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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>
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 724f373..f4f1f8b 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