Author: sebor
Date: Tue Nov 8 11:27:26 2005
New Revision: 331868
URL: http://svn.apache.org/viewcvs?rev=331868&view=rev
Log:
2005-11-08 Martin Sebor <[EMAIL PROTECTED]>
STDCXX-57
* _defs.h: Defined _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
whenever _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION is #defined.
Modified:
incubator/stdcxx/trunk/include/rw/_defs.h
Modified: incubator/stdcxx/trunk/include/rw/_defs.h
URL:
http://svn.apache.org/viewcvs/incubator/stdcxx/trunk/include/rw/_defs.h?rev=331868&r1=331867&r2=331868&view=diff
==============================================================================
--- incubator/stdcxx/trunk/include/rw/_defs.h (original)
+++ incubator/stdcxx/trunk/include/rw/_defs.h Tue Nov 8 11:27:26 2005
@@ -1409,6 +1409,13 @@
#endif // NO_STD_UNCAUGHT_EXCEPTION && NO_GLOBAL_UNCAUGHT_EXCEPTION
+#ifdef _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION
+# ifndef _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
+# define _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
+# endif // _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
+#endif // _RWSTD_NO_EXTERN_TEMPLATE_BEFORE_DEFINITION
+
+
// allows for efficient compilation of the library sources without
// support for implicit inclusion: only specializations explicitly
// instantiated in the library are available
@@ -1419,11 +1426,15 @@
|| defined (_RWSTD_NO_INSTANTIATE))
# ifndef _RWSTD_LIB_SRC
+ // this block is active when using (as opposed to compiling)
+ // the library headers and sources
+
# define _RWSTD_DEFINE_TEMPLATE(name) !_RWSTD_NO ## name ## _DEFINITION
- // when implicit inclusion is not enabled, determines whether explicit
- // instantiation directives for library templates can appear lexically
- // before their complete definition (i.e., before the .cc file that
- // corresponds to each header) has been #included
+ // when implicit inclusion is not enabled, determines whether extern
+ // template declarations for the corresponding explicit instantiation
+ // directives for library templates may appear lexically before their
+ // complete definitions (i.e., before the .cc file that corresponds
+ // to each header) has been #included
# ifndef _RWSTD_NO_EXPLICIT_INSTANTIATION_BEFORE_DEFINITION
// note that the _FIRST() and _LAST() macros cannot be #defined
// in terms of the generic macro above because the name argument