Commit 42999928 by Paolo Carlini

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
parent 4c0a0455
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> 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> 2009-10-13 Paolo Carlini <paolo.carlini@oracle.com>
......
...@@ -147,7 +147,6 @@ ...@@ -147,7 +147,6 @@
# define _GLIBCXX_STD __cxx1998 # define _GLIBCXX_STD __cxx1998
# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { # define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
# define _GLIBCXX_END_NAMESPACE } # define _GLIBCXX_END_NAMESPACE }
# define _GLIBCXX_EXTERN_TEMPLATE -1
# endif # endif
// debug + parallel // debug + parallel
...@@ -172,7 +171,6 @@ ...@@ -172,7 +171,6 @@
# define _GLIBCXX_STD __cxx1998 # define _GLIBCXX_STD __cxx1998
# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { # define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
# define _GLIBCXX_END_NAMESPACE } # define _GLIBCXX_END_NAMESPACE }
# define _GLIBCXX_EXTERN_TEMPLATE -1
# endif # endif
# if __NO_INLINE__ && !__GXX_WEAK__ # if __NO_INLINE__ && !__GXX_WEAK__
...@@ -287,6 +285,10 @@ namespace std ...@@ -287,6 +285,10 @@ namespace std
// library to avoid multiple weak definitions for required types that // library to avoid multiple weak definitions for required types that
// are already explicitly instantiated in the library binary. This // are already explicitly instantiated in the library binary. This
// substantially reduces the binary size of resulting executables. // 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 #ifndef _GLIBCXX_EXTERN_TEMPLATE
# define _GLIBCXX_EXTERN_TEMPLATE 1 # define _GLIBCXX_EXTERN_TEMPLATE 1
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment