stdcxx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elemi...@apache.org
Subject svn commit: r678913 - in /stdcxx/branches/4.3.x: ./ etc/config/src/ examples/include/ include/ include/loc/ include/rw/ src/ tests/containers/ tests/localization/ tests/strings/ tests/utilities/
Date Tue, 22 Jul 2008 21:24:02 GMT
Author: elemings
Date: Tue Jul 22 14:24:01 2008
New Revision: 678913

URL: http://svn.apache.org/viewvc?rev=678913&view=rev
Log:
2008-07-22  Eric Lemings  <eric.lemings@roguewave.com>

	STDCXX-978
	* README: Removed _RWSTD_NO_MEMBER_TEMPLATES section.

	* etc/config/src/MEMBER_TEMPLATE_OVERLOAD.cpp: Removed config
	test.  (Assume required compiler support for member templates
	in all subsequent releases.)
	* etc/config/src/MEMBER_TEMPLATES.cpp: Same.
	* etc/config/src/implicit_inclusion_imp.h: Removed #if
	directives and code compiled when no member templates supported.
	* etc/config/src/IMPLICIT_INCLUSION.cpp: Same.
	* etc/config/src/extern_template_imp.h: Same.
	* etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp: Same.
	* etc/config/src/extern_template_imp.cpp: Same.
	* etc/config/src/implicit_inclusion_imp.cc: Same.

	* include/bitest [_RWSTD_NO_MEMBER_TEMPLATES]: Removed #if
	directives leaving code compiled when macro is not defined and
	removing (unused) code that is compiled when macro is defined.
	* include/complex: Same.
	* include/deque: Same.
	* include/deque.cc: Same.
	* include/list: Same.
	* include/list.cc: Same.
	* include/set: Same.
	* include/string: Same.
	* include/string.cc: Same.
	* include/vector: Same.
	* include/vector.cc: Same.

	* src/vecbool.cpp [_RWSTD_NO_MEMBER_TEMPLATES]: Removed
	unused code compiled when no member templates supported.

	* tests/utilities/20.auto.ptr.cpp [_RWSTD_NO_MEMBER_TEMPLATES]:
	Removed #if directives.  (Most code was already being compiled.
	Two directives were not but the code appears harmless.)
	* tests/containers/23.bitset.cpp: Same.
	* tests/localization/22.locale.synopsis.cpp: Same.
	* tests/strings/21.string.exceptions.cpp: Same.

	* examples/include/stocks.h: Removed unused code.


Removed:
    stdcxx/branches/4.3.x/etc/config/src/MEMBER_TEMPLATES.cpp
    stdcxx/branches/4.3.x/etc/config/src/MEMBER_TEMPLATE_OVERLOAD.cpp
Modified:
    stdcxx/branches/4.3.x/README
    stdcxx/branches/4.3.x/etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp
    stdcxx/branches/4.3.x/etc/config/src/IMPLICIT_INCLUSION.cpp
    stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.cpp
    stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.h
    stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.cc
    stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.h
    stdcxx/branches/4.3.x/examples/include/stocks.h
    stdcxx/branches/4.3.x/include/bitset
    stdcxx/branches/4.3.x/include/complex
    stdcxx/branches/4.3.x/include/deque
    stdcxx/branches/4.3.x/include/deque.cc
    stdcxx/branches/4.3.x/include/list
    stdcxx/branches/4.3.x/include/list.cc
    stdcxx/branches/4.3.x/include/loc/_locale.h
    stdcxx/branches/4.3.x/include/rw/_autoptr.h
    stdcxx/branches/4.3.x/include/rw/_config-sunpro.h
    stdcxx/branches/4.3.x/include/rw/_defs.h
    stdcxx/branches/4.3.x/include/rw/_iterator.h
    stdcxx/branches/4.3.x/include/rw/_iterbase.h
    stdcxx/branches/4.3.x/include/set
    stdcxx/branches/4.3.x/include/string
    stdcxx/branches/4.3.x/include/string.cc
    stdcxx/branches/4.3.x/include/vector
    stdcxx/branches/4.3.x/include/vector.cc
    stdcxx/branches/4.3.x/src/vecbool.cpp
    stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp
    stdcxx/branches/4.3.x/tests/localization/22.locale.synopsis.cpp
    stdcxx/branches/4.3.x/tests/strings/21.string.exceptions.cpp
    stdcxx/branches/4.3.x/tests/utilities/20.auto.ptr.cpp

Modified: stdcxx/branches/4.3.x/README
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/README?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/README (original)
+++ stdcxx/branches/4.3.x/README Tue Jul 22 14:24:01 2008
@@ -1063,12 +1063,6 @@
      #defined when  explicit instantiation of member  templates is not
       supported.
 
-  o  _RWSTD_NO_MEMBER_TEMPLATES [abi, auto]
-
-     #defined  when member  templates are  not supported.  The library
-     tries to  provide alternative solutions  wherever possible.  Some
-     loss of functionality is inevitable. 
-
   o  _RWSTD_REENTRANT [abi, auto, lib]
 
      #defined  for multi-thread  safe  build types  12[sd] and  15[sd]

Modified: stdcxx/branches/4.3.x/etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp (original)
+++ stdcxx/branches/4.3.x/etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp Tue Jul 22 14:24:01 2008
@@ -24,13 +24,6 @@
 
 #include "config.h"
 
-// establish dependencies on the config tests and define config
-// macros used in the header below (the are not autodetected
-// in headers)
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-#  define NO_MEMBER_TEMPLATES
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 // include a file containing the definition of a template
 // and an extern template directive referencing an explicit
 // instantiation of the same template in extern_template_imp.o

Modified: stdcxx/branches/4.3.x/etc/config/src/IMPLICIT_INCLUSION.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/IMPLICIT_INCLUSION.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/IMPLICIT_INCLUSION.cpp (original)
+++ stdcxx/branches/4.3.x/etc/config/src/IMPLICIT_INCLUSION.cpp Tue Jul 22 14:24:01 2008
@@ -30,8 +30,6 @@
 
     int result = si.foo ();
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // exercise implicit inclusion with member templates
     // to detect SunPro 5.7 bug #475
 
@@ -39,7 +37,5 @@
 
     result += sd.bar (result);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     return result;
 }

Modified: stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.cpp (original)
+++ stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.cpp Tue Jul 22 14:24:01 2008
@@ -23,13 +23,6 @@
 
 #include "config.h"
 
-// establish dependencies on the config tests and define config
-// macros used in the header below (the are not autodetected
-// in headers)
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  define NO_MEMBER_TEMPLATES
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 // explicitly instantiate the template defined in the header
 #define INSTANTIATE
 #include "extern_template_imp.h"

Modified: stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.h (original)
+++ stdcxx/branches/4.3.x/etc/config/src/extern_template_imp.h Tue Jul 22 14:24:01 2008
@@ -47,18 +47,6 @@
         return bar ();
     }
 
-#if defined (NO_MEMBER_TEMPLATES)
-
-    int inline_member_template (int) const {
-        return 0;
-    }
-
-    int member_template (int) const {
-        return 0;
-    }
-
-#else   // if !defined (NO_MEMBER_TEMPLATES)
-
     template <class U>
     U inline_member_template (U) const {
         return U ();
@@ -66,9 +54,6 @@
 
     template <class U>
     U member_template (U) const;
-
-#endif   // NO_MEMBER_TEMPLATES
-
 };
 
 template <class T>
@@ -87,8 +72,6 @@
 #endif   // INSTANTIATE
 }
 
-#if !defined (NO_MEMBER_TEMPLATES)
-
 template <class T>
 template <class U>
 U S<T>::member_template (U) const
@@ -96,8 +79,6 @@
     return U ();
 }
 
-#endif   // NO_MEMBER_TEMPLATES
-
 
 #if defined (INSTANTIATE)
 

Modified: stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.cc?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.cc (original)
+++ stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.cc Tue Jul 22 14:24:01 2008
@@ -28,13 +28,9 @@
     return T ();
 }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class T>
 template <class U>
 U S<T>::bar (U u)
 {
     return u;
 }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES

Modified: stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.h (original)
+++ stdcxx/branches/4.3.x/etc/config/src/implicit_inclusion_imp.h Tue Jul 22 14:24:01 2008
@@ -26,13 +26,8 @@
 {
     T foo ();
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template <class U>
     U bar (U);
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 };
 
 // the file containing the definitions of S<T>::foo() and S<T>::bar(),

Modified: stdcxx/branches/4.3.x/examples/include/stocks.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/examples/include/stocks.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/examples/include/stocks.h (original)
+++ stdcxx/branches/4.3.x/examples/include/stocks.h Tue Jul 22 14:24:01 2008
@@ -153,12 +153,6 @@
 
    friend StockXchange::outStream&
    operator<< (StockXchange::outStream&, const StockXchange&);
- 
-private: 
-
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-   std::locale::id &_C_get_id () const { return id; }
-#endif
 };
 
 

Modified: stdcxx/branches/4.3.x/include/bitset
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/bitset?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/bitset (original)
+++ stdcxx/branches/4.3.x/include/bitset Tue Jul 22 14:24:01 2008
@@ -201,7 +201,6 @@
 
 
 #ifndef _RWSTD_NO_EXT_BITSET_CTOR_STRING
-#  ifndef _RWSTD_NO_MEMBER_TEMPLATE_OVERLOAD
 
     // extension
     explicit
@@ -214,7 +213,7 @@
                                    "size_t, size_t)"));
     }
 
-#    ifndef _RWSTD_NO_WCHAR_T
+#  ifndef _RWSTD_NO_WCHAR_T
 
     // extension
     explicit
@@ -227,8 +226,7 @@
                                    "size_t, size_t)"));
     }
 
-#    endif   // _RWSTD_NO_WCHAR_T
-#  endif   // _RWSTD_NO_MEMBER_TEMPLATE_OVERLOAD
+#  endif   // _RWSTD_NO_WCHAR_T
 #endif   // _RWSTD_NO_EXT_BITSET_CTOR_STRING
 
 
@@ -374,9 +372,7 @@
     // 23.3.5.2, p31
     unsigned long to_ulong () const;
 
-#if    !defined (_RWSTD_NO_MEMBER_TEMPLATES) \
-    && !defined (_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) \
-    && !defined (_RWSTD_NO_MEMBER_TEMPLATE_OVERLOAD)
+#if !defined (_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE)
 
     // 23.3.5.2, p33
     template <class _CharT, class _Traits, class _Allocator>
@@ -410,14 +406,14 @@
 
 #  endif   // !_NO_EXT_BITSET_TO_STRING
 
-#else   // if _MEMBER_TEMPLATES || _NO_TEMPLATE_ON_RETURN_TYPE || ...
+#else   // if _NO_TEMPLATE_ON_RETURN_TYPE
 
     // 23.3.5.2, p33
     string to_string (char = '0', char = '1') const;
 
 # define _RWSTD_BITSET_TO_STRING(ign1, ign2)  to_string ()
 
-#endif   // !_NO_MEMBER_TEMPLATES && !_NO_TEMPLATE_ON_RETURN_TYPE && ...
+#endif   // !_NO_TEMPLATE_ON_RETURN_TYPE
 
     // 23.3.5.2, p35
     _RWSTD_SIZE_T count () const _THROWS (()) {
@@ -563,9 +559,7 @@
 }
 
 
-#if    !defined (_RWSTD_NO_MEMBER_TEMPLATES) \
-    && !defined (_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) \
-    && !defined (_RWSTD_NO_MEMBER_TEMPLATE_OVERLOAD)
+#if !defined (_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE)
 
 // 23.3.5.2, p33
 template <_RWSTD_SIZE_T _Size>
@@ -583,7 +577,7 @@
     return __s;
 }
 
-#else   // _NO_MEMBER_TEMPLATES || _NO_TEMPLATE_ON_RETURN_TYPE ...
+#else   // _NO_TEMPLATE_ON_RETURN_TYPE
 
 // 23.3.5.2, p33
 template <_RWSTD_SIZE_T _Size>
@@ -600,7 +594,7 @@
     return __s;
 }
 
-#endif   // !_NO_MEMBER_TEMPLATES && !_NO_TEMPLATE_ON_RETURN_TYPE ...
+#endif   // !_NO_TEMPLATE_ON_RETURN_TYPE
 
 
 // 23.3.5.3, p1

Modified: stdcxx/branches/4.3.x/include/complex
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/complex?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/complex (original)
+++ stdcxx/branches/4.3.x/include/complex Tue Jul 22 14:24:01 2008
@@ -98,19 +98,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  define _RWSTD_MEMBER_TEMPLATE(name)  \
-          template <class _TypeX>       \
-          complex<value_type>& name (const complex<_TypeX> &__rhs)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-#  define _RWSTD_MEMBER_TEMPLATE(name)     \
-          complex<value_type>& name (const complex &__rhs)
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
-
 // 26.2.3 - complex specializations
 
 _RWSTD_SPECIALIZED_CLASS
@@ -150,28 +137,28 @@
 
 #endif   // _COMPILER_VERSION <= 730
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATE
-
     template <class _TypeT>
     complex& operator= (const complex<_TypeT>& __rhs) {
         return (_C_re = __rhs.real ()), (_C_im = __rhs.imag ()), *this;
     }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATE
-    
-    _RWSTD_MEMBER_TEMPLATE (operator+=) {
+    template <class _TypeX>
+    complex<value_type>& operator+= (const complex<_TypeX> &__rhs) {
         return (_C_re += __rhs.real ()), (_C_im += __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator-=) {
+    template <class _TypeX>
+    complex<value_type>& operator-= (const complex<_TypeX> &__rhs) {
         return (_C_re -= __rhs.real ()), (_C_im -= __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator*=) {
+    template <class _TypeX>
+    complex<value_type>& operator*= (const complex<_TypeX> &__rhs) {
         return *this = *this * complex<value_type>(__rhs);
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator/=) {
+    template <class _TypeX>
+    complex<value_type>& operator/= (const complex<_TypeX> &__rhs) {
         return *this = *this / complex<value_type>(__rhs);
     }
 
@@ -238,28 +225,28 @@
 
 #endif   // _COMPILER_VERSION <= 730
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATE
-
     template <class _TypeT>
     complex& operator= (const complex<_TypeT>& __rhs) {
         return (_C_re = __rhs.real ()), (_C_im = __rhs.imag ()), *this;
     }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATE
-    
-    _RWSTD_MEMBER_TEMPLATE (operator+=) {
+    template <class _TypeX>
+    complex<value_type>& operator+= (const complex<_TypeX> &__rhs) {
         return (_C_re += __rhs.real ()), (_C_im += __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator-=) {
+    template <class _TypeX>
+    complex<value_type>& operator-= (const complex<_TypeX> &__rhs) {
         return (_C_re -= __rhs.real ()), (_C_im -= __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator*=) {
+    template <class _TypeX>
+    complex<value_type>& operator*= (const complex<_TypeX> &__rhs) {
         return *this = *this * complex<value_type>(__rhs);
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator/=) {
+    template <class _TypeX>
+    complex<value_type>& operator/= (const complex<_TypeX> &__rhs) {
         return *this = *this / complex<value_type>(__rhs);
     }
 
@@ -316,19 +303,23 @@
         return _C_re;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator+=) {
+    template <class _TypeX>
+    complex<value_type>& operator+= (const complex<_TypeX> &__rhs) {
         return (_C_re += __rhs.real ()), (_C_im += __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator-=) {
+    template <class _TypeX>
+    complex<value_type>& operator-= (const complex<_TypeX> &__rhs) {
         return (_C_re -= __rhs.real ()), (_C_im -= __rhs.imag ()), *this;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator*=) {
+    template <class _TypeX>
+    complex<value_type>& operator*= (const complex<_TypeX> &__rhs) {
         return *this = *this * complex<value_type>(__rhs);
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator/=) {
+    template <class _TypeX>
+    complex<value_type>& operator/= (const complex<_TypeX> &__rhs) {
         return *this = *this / complex<value_type>(__rhs);
     }
 
@@ -341,15 +332,11 @@
 
 #endif   // _COMPILER_VERSION <= 730
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATE
-
     template <class _TypeT>
     complex& operator= (const complex<_TypeT>& __rhs) {
         return (_C_re = __rhs.real ()), (_C_im = __rhs.imag ()), *this;
     }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATE
-
     complex& operator+= (value_type __rhs) {
         return _C_re += __rhs, *this;
     }
@@ -414,8 +401,6 @@
         return _C_re;
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATE
-
     template <class _TypeU>
     complex (const complex<_TypeU>& __rhs)
         : _C_re (_RWSTD_STATIC_CAST (value_type, __rhs.real ())),
@@ -427,21 +412,23 @@
         return *this = complex (__rhs);
     }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATE
-    
-    _RWSTD_MEMBER_TEMPLATE (operator+=) {
+    template <class _TypeX>
+    complex<value_type>& operator+= (const complex<_TypeX> &__rhs) {
         return *this = *this + __rhs;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator-=) {
+    template <class _TypeX>
+    complex<value_type>& operator-= (const complex<_TypeX> &__rhs) {
         return *this = *this - __rhs;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator*=) {
+    template <class _TypeX>
+    complex<value_type>& operator*= (const complex<_TypeX> &__rhs) {
         return *this = *this * __rhs;
     }
 
-    _RWSTD_MEMBER_TEMPLATE (operator/=) {
+    template <class _TypeX>
+    complex<value_type>& operator/= (const complex<_TypeX> &__rhs) {
         return *this = *this / __rhs;
     }
 

Modified: stdcxx/branches/4.3.x/include/deque
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/deque?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/deque (original)
+++ stdcxx/branches/4.3.x/include/deque Tue Jul 22 14:24:01 2008
@@ -58,8 +58,6 @@
 template <class _TypeT, class _Allocator = allocator<_TypeT> >
 class deque;
 
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-
 // declarations of non-member function templates implementing
 // the functionality of deque member function templates
 
@@ -83,8 +81,6 @@
 void __rw_insert_range (deque<_TypeT, _Allocator>*, _DequeIter,
                         _BidirIter, _BidirIter, bidirectional_iterator_tag);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
 template <class _TypeT, class _DiffT, class _Pointer,
           class _Reference, class _Allocator>
@@ -695,8 +691,6 @@
     // implements insert with repetition
     void _C_insert_n (const iterator&, size_type, const_reference);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // implements range insert for BidirectionalIterators
     template <class _BidirIter>
     void _C_insert_range (iterator, _BidirIter, _BidirIter,
@@ -707,12 +701,6 @@
     void _C_insert_range (iterator, _InputIter, _InputIter,
                           input_iterator_tag);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-public:
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // implements range assign
     template <class _InputIter>
     void _C_assign (_InputIter __first, _InputIter __last, void*) {

Modified: stdcxx/branches/4.3.x/include/deque.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/deque.cc?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/deque.cc (original)
+++ stdcxx/branches/4.3.x/include/deque.cc Tue Jul 22 14:24:01 2008
@@ -518,8 +518,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template <class _InputIter>
 void deque<_TypeT, _Allocator>::
@@ -529,18 +527,6 @@
 
     deque* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _InputIter>
-void
-__rw_assign_range (deque<_TypeT, _Allocator> *__self,
-                   _InputIter __first, _InputIter __last, input_iterator_tag)
-{
-    typedef deque<_TypeT, _Allocator> _Deque;
-    typedef typename _Deque::iterator iterator;
-    
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__first, __last);
     _RWSTD_ASSERT (__self->_C_is_valid ());
 
@@ -586,8 +572,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template <class _InputIter>
 void deque<_TypeT, _Allocator>::
@@ -599,17 +583,6 @@
 
     _Deque* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _DequeIter, class _InputIter>
-void
-__rw_insert_range (deque<_TypeT, _Allocator> *__self, _DequeIter __it,
-                   _InputIter __first, _InputIter __last, input_iterator_tag)
-{
-    typedef deque<_TypeT, _Allocator> _Deque;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__it, __self->end ());
     _RWSTD_ASSERT_RANGE (__first, __last);
 
@@ -640,8 +613,6 @@
 }
 
 
-// #ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 // template<class _TypeT, class _Allocator>
 // template <class _FwdIter>
 // void deque<_TypeT, _Allocator>::
@@ -653,24 +624,11 @@
 
 //     _Deque* const __self = this;
 
-// #else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-// template <class _TypeT, class _Allocator, class _DequeIter, class _FwdIter>
-// void
-// __rw_insert_range (deque<_TypeT, _Allocator> *__self, _DequeIter __it,
-//                    _FwdIter __first, _FwdIter __last, forward_iterator_tag)
-// {
-//     typedef deque<_TypeT, _Allocator> _Deque;
-
-// #endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 //     // implemented in terms of the Input Iterator overload
 //     _RWSTD_INSERT_RANGE (__it, __first, __last, input_iterator_tag ());
 // }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template <class _BidirIter>
 void deque<_TypeT, _Allocator>::
@@ -682,22 +640,6 @@
 
     _Deque* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _DequeIter, class _BidirIter>
-void
-__rw_insert_range (deque<_TypeT, _Allocator> *__self, _DequeIter __it,
-                   _BidirIter __first, _BidirIter __last,
-                   bidirectional_iterator_tag)
-
-{
-    typedef deque<_TypeT, _Allocator>         _Deque;
-    typedef typename _Deque::difference_type difference_type;
-    typedef typename _Deque::size_type       size_type;
-    typedef typename _Deque::iterator        iterator;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__self->begin (), __it);
     _RWSTD_ASSERT_RANGE (__first, __last);
     _RWSTD_ASSERT (__self->_C_is_valid ());

Modified: stdcxx/branches/4.3.x/include/list
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/list?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/list (original)
+++ stdcxx/branches/4.3.x/include/list Tue Jul 22 14:24:01 2008
@@ -603,19 +603,10 @@
     // uses transfer_node to merge in list by transfering nodes to list
     void _C_adjacent_merge (iterator, iterator, iterator);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // uses transfer_node to merge in list by transfering nodes to list
     template<class _Compare>
     void _C_adjacent_merge (iterator, iterator, iterator, _Compare);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    void _C_adjacent_merge (iterator, iterator, iterator,
-                           bool (*)(const_reference, const_reference));
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-      
     void _C_insert (iterator __it, size_type __n, const_reference __x) {
         _RWSTD_ASSERT_RANGE (begin (), __it);
 
@@ -655,8 +646,6 @@
 
     void sort ();
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template<class _Predicate>
     void remove_if (_Predicate);
 
@@ -669,18 +658,6 @@
     template<class _Compare>
     void sort (_Compare);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    void remove_if (bool (*)(const_reference));
-
-    void unique (bool (*)(const_reference, const_reference));
-
-    void merge (list &__x, bool (*)(const_reference, const_reference));
-
-    void sort (bool (*)(const_reference, const_reference));
-
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
-
 };
 
 

Modified: stdcxx/branches/4.3.x/include/list.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/list.cc?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/list.cc (original)
+++ stdcxx/branches/4.3.x/include/list.cc Tue Jul 22 14:24:01 2008
@@ -457,22 +457,11 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::
 _C_adjacent_merge (iterator __first1, iterator __last1, iterator __last2,
                    _Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-_C_adjacent_merge (iterator __first1, iterator __last1, iterator __last2,
-                   bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     difference_type __n = _DISTANCE (__first1, __last1, difference_type);
 
@@ -490,19 +479,9 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template<class _Predicate>
 void list<_TypeT, _Allocator>::remove_if (_Predicate __pred)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::remove_if (bool (*__pred)(const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 {
     iterator __first = begin ();
     iterator __last = end ();
@@ -516,19 +495,10 @@
     }
 }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
 
 template<class _TypeT, class _Allocator>
 template<class _BinaryPredicate>
 void list<_TypeT, _Allocator>::unique (_BinaryPredicate __pred)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-unique (bool (*__pred)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     iterator __first = begin ();
     iterator __last = end ();
@@ -547,21 +517,10 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::
 merge (list<_TypeT, _Allocator>& __x, _Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-merge (list<_TypeT, _Allocator>& __x,
-       bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     if (&__x == this)
         return;
@@ -585,19 +544,9 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template<class _Compare>
 void list<_TypeT, _Allocator>::sort (_Compare __cmp)
-
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator>
-void list<_TypeT, _Allocator>::
-sort (bool (*__cmp)(const_reference, const_reference))
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 {
     for (size_type __n = 1; __n < size (); __n *= 2) {
 

Modified: stdcxx/branches/4.3.x/include/loc/_locale.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/loc/_locale.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/loc/_locale.h (original)
+++ stdcxx/branches/4.3.x/include/loc/_locale.h Tue Jul 22 14:24:01 2008
@@ -180,78 +180,23 @@
     // 22.1.1.2, p9
     _RWSTD_MEMBER_EXPORT locale (const locale&, const char*, category);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // 22.1.1.2, p12
     template <class _Facet>
     locale (const locale&, _Facet*);
 
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
     // 22.1.1.3, p1
     template <class _Facet>
     locale combine (const locale&) const;
 
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
     // 22.1.1.4, p3
     template <class _CharT, class _Traits, class _Allocator>
     bool operator() (const basic_string<_CharT, _Traits, _Allocator>&,
                      const basic_string<_CharT, _Traits, _Allocator>&) const;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    template <class _Facet>
-    locale (const locale &__rhs, _Facet *__facet)
-        : _C_body (0) {
-        // initialize facet's member id to point to Facet::id
-        if (__facet && !__facet->_C_pid) {
-        // unusual cast (to size_t** rather than size_t*&)
-        // done to work around an HP aCC 3.3x bug
-            *_RWSTD_CONST_CAST (_RWSTD_SIZE_T**, &__facet->_C_pid) =
-                &_Facet::id._C_id;
-        }
-
-        // uninitialized Facet::id will be initialized by has_facet<>()
-
-        // prevent passing `facet' the ctor if it is installed
-        // in `rhs' to potentially avoid creating a whole new body
-        if (   has_facet<_Facet>(__rhs)
-            && &use_facet<_Facet>(__rhs) == __facet)
-            __facet = 0;
-
-        *this = locale (*__rhs._C_body, __facet);
-    }
-
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
-
-    template <class _Facet>
-    locale combine (const locale &__rhs) const {
-        // unitialized Facet::id will be initialized by has_facet<>()
-
-        _RWSTD_REQUIRES (has_facet<_Facet>(__rhs),
-                         (_RWSTD_ERROR_FACET_NOT_FOUND,
-                         _RWSTD_FUNC ("locale::combine (const locale&)"),
-                         _Facet::id._C_id, __rhs.name ().c_str ()));
-
-        return locale (__rhs, &use_facet<_Facet>(__rhs));
-    }
-
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
-
-    template <class _CharT, class _Traits, class _Allocator>
-    bool
-    operator() (const basic_string<_CharT, _Traits, _Allocator> &__x,
-                const basic_string<_CharT, _Traits, _Allocator> &__y) const {
-        // qualify collate to distinguish it from locale::collate
-        return use_facet<_STD::collate<_CharT> >(*this)
-            .compare (__x.data (), __x.data () + __x.length (),
-                      __y.data (), __y.data () + __y.length ()) < 0;
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
-
     // 22.1.1.2, p14
     _RWSTD_MEMBER_EXPORT locale (const locale&, const locale&, category);
 
@@ -506,8 +451,6 @@
 _RWSTD_NAMESPACE (std) {
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _Facet>
 inline locale::locale (const locale &__rhs, _Facet *__facet)
     : _C_body (0)
@@ -531,7 +474,7 @@
 }
 
 
-#  ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#ifndef _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
 template <class _Facet>
 inline locale locale::combine (const locale &__rhs) const
@@ -546,7 +489,7 @@
     return locale (*this, &use_facet<_Facet>(__rhs));
 }
 
-#  endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
+#endif   // _RWSTD_NO_TEMPLATE_ON_RETURN_TYPE
 
 
 template <class _CharT, class _Traits, class _Allocator>
@@ -561,9 +504,6 @@
 }
 
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
-
 }   // namespace std
 
 

Modified: stdcxx/branches/4.3.x/include/rw/_autoptr.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_autoptr.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/rw/_autoptr.h (original)
+++ stdcxx/branches/4.3.x/include/rw/_autoptr.h Tue Jul 22 14:24:01 2008
@@ -96,8 +96,6 @@
 template <class _TypeT>
 class auto_ptr_ref 
 {
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template <class _TypeU>
     friend class auto_ptr;
 
@@ -107,16 +105,6 @@
     auto_ptr_ref (auto_ptr<_TypeU>& __rhs, const _TypeU* = 0) _THROWS (())
         : _C_ptr (_RWSTD_REINTERPRET_CAST (auto_ptr<_TypeT>&, __rhs)) { }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-public:
-
-    // useless, auto_ptr_ref necessary only for auto_ptr conversions
-    auto_ptr_ref (auto_ptr<_TypeT>& __rhs, const _TypeT* = 0) _THROWS (())
-        : _C_ptr (__rhs) { }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // reference to the owning auto_ptr object
     auto_ptr<_TypeT>& _C_ptr;
 };
@@ -147,8 +135,6 @@
         delete _C_ptr;
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // 20.4.5.1, p4
     template <class _TypeU>
     auto_ptr (auto_ptr<_TypeU>& __rhs) _THROWS (())
@@ -174,15 +160,6 @@
         return auto_ptr<_TypeU>(release ());
     }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    // 20.4.5.3, p3 (limited to T == U)
-    operator auto_ptr_ref<_TypeT>() _THROWS (()) {
-        return auto_ptr_ref<_TypeT>(*this, _C_ptr);
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // 20.4.5.2, p1
     typename _RW::__rw_nonvoid_ref<element_type>::_C_ref
     operator* () const _THROWS (()) {

Modified: stdcxx/branches/4.3.x/include/rw/_config-sunpro.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_config-sunpro.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/rw/_config-sunpro.h (original)
+++ stdcxx/branches/4.3.x/include/rw/_config-sunpro.h Tue Jul 22 14:24:01 2008
@@ -31,11 +31,6 @@
 
 // _REENTRANT defined by the -mt compiler option
 
-#if __SUNPRO_CC >= 0x530 && __SUNPRO_CC <= 0x540
-   // test fails due to a SunPro 5.3 bug (PR RW #26641/Sun #4526136)
-#  undef _RWSTD_NO_MEMBER_TEMPLATES
-#endif   // SunPro 5.3, 5.4
-
 #if __SUNPRO_CC <= 0x540
    // works around a partial specialization bug (PR #28119)
 #  ifndef _RWSTD_NO_EXT_CONST_ALLOCATOR

Modified: stdcxx/branches/4.3.x/include/rw/_defs.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_defs.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/rw/_defs.h (original)
+++ stdcxx/branches/4.3.x/include/rw/_defs.h Tue Jul 22 14:24:01 2008
@@ -1546,9 +1546,6 @@
 #    ifndef _RWSTD_NO_SPECIALIZED_FACET_ID
 #      define _RWSTD_NO_SPECIALIZED_FACET_ID
 #    endif   // _RWSTD_NO_SPECIALIZED_FACET_ID
-#  else
-     // FIXME: handle the case when explicit member specialization
-     // is not available (e.g., MSVC 6)
 #  endif   // _RWSTD_NO_EXPLICIT_MEMBER_SPECIALIZATION
 #else   // if !defined (_RWSTD_NO_EXTERN_TEMPLATE)
    // no need to explicitly specialize the members when extern
@@ -1562,22 +1559,10 @@
 
 // configuration for container class templates and their member
 // function templates
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-   // member function template definitions outside the body
-   // of the parent container class template are enabled
 #  define _RWSTD_ASSIGN_RANGE(first, last, tag)     \
           _C_assign_range (first, last, tag)
 #  define _RWSTD_INSERT_RANGE(it, first, last, tag) \
           _C_insert_range (it, first, last, tag)
-#else
-   // when member function template definitions outside the body
-   // of the parent container class template are disabled, they
-   // are emulated using namespace-scope function templates
-#  define _RWSTD_ASSIGN_RANGE(first, last, tag)       \
-          __rw_assign_range (this, first, last, tag)
-#  define _RWSTD_INSERT_RANGE(it, first, last, tag)   \
-          __rw_insert_range (this, it, first, last, tag)
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 
 
 #if 2 < __GNUG__

Modified: stdcxx/branches/4.3.x/include/rw/_iterator.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_iterator.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/rw/_iterator.h (original)
+++ stdcxx/branches/4.3.x/include/rw/_iterator.h Tue Jul 22 14:24:01 2008
@@ -116,15 +116,14 @@
     explicit reverse_iterator (iterator_type __rhs) : current (__rhs) { }
  
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
+#ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
     // 24.4.1.3.1, p2
     template <class _TypeU>
     reverse_iterator (const reverse_iterator<_TypeU>& __rhs)
         : current (__rhs.base ()) { }
 
-#  else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
+#else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC)
 
     // 24.4.1.3.1, p2
     template <class _Iterator2, class _Category2, class _TypeU,
@@ -133,8 +132,7 @@
                       _Reference2, _Pointer2, _Distance2>& __rhs)
         : current (__rhs.base ()) { }
 
-#  endif   // _RWSTD_NO_CLASS_PARTIAL_SPEC 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
 
     // 24.4.1.3.2, p1
@@ -310,14 +308,13 @@
         : current (__rhs) { }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
+#ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC 
 
       template <class _TypeU>
       __reverse_bi_iterator (const __reverse_bi_iterator<_TypeU>& __rhs)
           : current (__rhs.base ()) { }
 
-#  else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC )
+#else   // if defined (_RWSTD_NO_CLASS_PARTIAL_SPEC )
 
       template <class _Iterator2, class _Category2, class _TypeU,
                 class _Reference2, class _Pointer2, class _Distance2>
@@ -328,8 +325,7 @@
                                                          _Pointer2,
                                                          _Distance2>& __rhs)
           : current (__rhs.base ()) { }
-#  endif
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
+#endif
 
 
     iterator_type base () const {

Modified: stdcxx/branches/4.3.x/include/rw/_iterbase.h
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/rw/_iterbase.h?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/rw/_iterbase.h (original)
+++ stdcxx/branches/4.3.x/include/rw/_iterbase.h Tue Jul 22 14:24:01 2008
@@ -511,8 +511,7 @@
         return _C_iter;
     }
 
-#if    !defined (_RWSTD_NO_MEMBER_TEMPLATES) \
-    && (!defined (__IBMCPP__) || __IBMCPP__ > 502)
+#if !defined (__IBMCPP__) || __IBMCPP__ > 502
 
     // IBM xlC 5.0 fails to find these member template operators,
     // yet it complains about ambiguity if they are defined along
@@ -570,7 +569,7 @@
         return !(_C_iter < __rhs._C_iter);
     }
 
-#endif   // !_RWSTD_NO_MEMBER_TEMPLATES && __IBMCPP__ > 502
+#endif   // __IBMCPP__ > 502
 
     iterator_type         _C_iter;   // wrapped iterator
     const container_type *_C_cont;   // associated container
@@ -600,8 +599,7 @@
 #undef _RWSTD_CONT_DIFF_TYPE 
 
 
-#if    defined (_RWSTD_NO_MEMBER_TEMPLATES)   \
-    || defined (__IBMCPP__) && __IBMCPP__ <= 502
+#if defined (__IBMCPP__) && __IBMCPP__ <= 502
 
 // IBM xlC 5.0 fails to find the member template operators
 // defined above in the presence of namespaces...
@@ -672,7 +670,7 @@
     return __y < __x;
 }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES && __IBMCPP__ <= 502
+#endif   // __IBMCPP__ <= 502
 
 }   // namespace std
 

Modified: stdcxx/branches/4.3.x/include/set
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/set?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/set (original)
+++ stdcxx/branches/4.3.x/include/set Tue Jul 22 14:24:01 2008
@@ -106,11 +106,7 @@
     typedef typename __rep_type::difference_type         difference_type;
     typedef typename __rep_type::pointer                 pointer;
     typedef typename __rep_type::const_pointer           const_pointer;
-#if !defined (_RWSTD_NO_MEMBER_TEMPLATES)
     typedef typename __rep_type::const_reverse_iterator  reverse_iterator;
-#else
-    typedef typename __rep_type::reverse_iterator        reverse_iterator;
-#endif
     typedef typename __rep_type::const_reverse_iterator
         const_reverse_iterator;
 

Modified: stdcxx/branches/4.3.x/include/string
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/string?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/string (original)
+++ stdcxx/branches/4.3.x/include/string Tue Jul 22 14:24:01 2008
@@ -47,14 +47,12 @@
 _RWSTD_NAMESPACE (std) { 
 
 
-#if    (   defined (_RWSTD_NO_MEMBER_TEMPLATES)   \
-        || defined (_RWSTD_NO_EXTERN_MEMBER_TEMPLATE))
+#if defined _RWSTD_NO_EXTERN_MEMBER_TEMPLATE
 #  define _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 #endif   // _RWSTD_NO_STRING_MEMBER_TEMPLATES
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
 _EXPORT
 template <class _CharT, class _Traits, class _Alloc,
@@ -70,8 +68,7 @@
 __rw_replace_aux (std::basic_string<_CharT, _Traits, _Alloc>&, 
                   _StringIter, _StringIter, _InputIter, _InputIter);
 
-#  endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
 
 _EXPORT
@@ -180,8 +177,6 @@
                   const allocator_type& = allocator_type ());
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // 21.3.1, p15
     template <class _InputIter>
     basic_string (_InputIter __first, _InputIter __last, 
@@ -191,8 +186,6 @@
                  __first, __last);
     }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     basic_string (const_pointer, const_pointer, const allocator_type&
                   _RWSTD_REDECLARED_DEFAULT (allocator_type ()));
 
@@ -310,8 +303,6 @@
         return append (__s, traits_type::length (__s));
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template<class _InputIter>
     basic_string& append (_InputIter __first, _InputIter __last) {
         // resolves to append (size_type, value_type) if _InputIter
@@ -332,14 +323,6 @@
         return append (__n, __c);
     }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    basic_string& append (const_pointer __first, const_pointer __last) {
-        return append (__first, __last - __first);
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     basic_string& append (size_type, value_type);
 
     // lwg issue 7
@@ -360,8 +343,6 @@
     }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template<class _InputIter>
     basic_string& assign (_InputIter __first, _InputIter __last) {
         // resolves to assign (size_type, value_type) if _InputIter
@@ -383,15 +364,6 @@
         return replace (size_type (), size (), __n, __c);
     }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    basic_string& assign (const_pointer __first, const_pointer __last) {
-        replace (size_type (), size (), __first, __last - __first);
-        return *this;
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     basic_string& assign (size_type __n, value_type __c) {
         return replace (size_type (), size (), __n, __c);
     }
@@ -415,8 +387,6 @@
         return insert (__inx, &__c, 1), begin () + __inx;
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     template<class _InputIter>
     void insert (iterator __p, _InputIter __first, _InputIter __last) {
         insert (__p, __first, __last, _RWSTD_DISPATCH (_InputIter));
@@ -461,18 +431,6 @@
 
 #  endif   // _RWSTD_NO_DEBUG_ITER
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    void insert (iterator __p, const_pointer __first, const_pointer __last) {
-        if (__first >= _C_data && __first <= _C_data + size ())
-            insert (_C_off (__p), basic_string (__first, __last));
-        else
-            replace (__p, __p, __first, __last);
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-    
-
     void insert (iterator __it, size_type __n, value_type __c) {
         replace (_C_off (__it), size_type (), __n, __c);
     }
@@ -581,16 +539,14 @@
         return replace (_C_off (__first), _C_off (__first, __last), __n, __c);
     }
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
-#  ifndef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#ifndef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
     template<class _InputIter>
     basic_string&
     replace (iterator __first1, iterator __last1, 
              _InputIter __first2, _InputIter __last2, void*);
 
-#  else   // if defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
+#else   // if defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
 
     template<class _InputIter>
     basic_string&
@@ -599,7 +555,7 @@
         return __rw_replace (*this, __first1, __last1, __first2, __last2);
     }
 
-#  endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
     basic_string&
     replace (iterator __first, iterator __last,
@@ -616,18 +572,6 @@
                         _RWSTD_DISPATCH (_InputIter));
     }
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-    basic_string&
-    replace (iterator __first1, iterator __last1,
-             const_pointer __first2, const_pointer __last2) {
-        replace (_C_off (__first1), _C_off (__first1, __last1),
-                 __first2, size_type (__last2 - __first2));
-        return *this;
-    }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
     // 21.3.5.7, p1
     size_type copy (pointer, size_type, size_type = 0) const;

Modified: stdcxx/branches/4.3.x/include/string.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/string.cc?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/string.cc (original)
+++ stdcxx/branches/4.3.x/include/string.cc Tue Jul 22 14:24:01 2008
@@ -461,9 +461,7 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
-#  ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
 _EXPORT
 template <class _CharT, class _Traits, class _Alloc,
@@ -484,7 +482,7 @@
      _C_string_ref_type;
 
 
-#  else   // !defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
+#else   // !defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
 
 template<class _CharT, class _Traits, class _Allocator>
 template<class _InputIter>
@@ -497,7 +495,7 @@
 
     basic_string &__s = *this;
 
-#  endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#endif   // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
     _RWSTD_ASSERT_RANGE (__first1,
                          __s._C_make_iter (__s._C_data + __s.size ()));
@@ -561,7 +559,7 @@
 // Avoids the possibility of multiple allocations
 // We still have to copy characters over one at a time.
 
-#  ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#ifdef _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
 _EXPORT
 template <class _CharT, class _Traits, class _Alloc,
@@ -583,7 +581,7 @@
     typedef _RW::__string_ref<value_type, traits_type, allocator_type>
     _C_string_ref_type;
 
-#  else   // if !defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
+#else   // if !defined (_RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES)
 
 template<class _CharT, class _Traits, class _Allocator>
 template<class _InputIter>
@@ -594,7 +592,7 @@
 {
     basic_string &__s = *this;
 
-#  endif  // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
+#endif  // _RWSTD_NO_STRING_OUTLINED_MEMBER_TEMPLATES
 
     _RWSTD_ASSERT_RANGE (__first1, __s._C_make_iter (__s._C_data 
                                                      + __s.size ()));
@@ -667,8 +665,6 @@
     return __s;
 }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
 template <class _CharT, class _Traits, class _Allocator>
 typename basic_string<_CharT, _Traits, _Allocator>::size_type

Modified: stdcxx/branches/4.3.x/include/vector
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/vector?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/vector (original)
+++ stdcxx/branches/4.3.x/include/vector Tue Jul 22 14:24:01 2008
@@ -58,8 +58,6 @@
 template <class _TypeT, class _Allocator = allocator<_TypeT> >
 class vector;
 
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-
 // declarations of non-member function templates implementing
 // the functionality of vector member function templates
 
@@ -83,8 +81,6 @@
 void __rw_insert_range (vector<_TypeT, _Allocator>*, _VectorIter,
                         _FwdIter, _FwdIter, forward_iterator_tag);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
 _EXPORT
 template <class _TypeT, class _Allocator>
@@ -328,8 +324,6 @@
     // implements insert with repetition
     void _C_insert_n (const iterator&, size_type, const_reference);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // implements range insert for ForwardIterators
     template <class _FwdIter>
     void _C_insert_range (iterator, _FwdIter, _FwdIter,
@@ -340,12 +334,6 @@
     void _C_insert_range (iterator, _InputIter, _InputIter,
                           input_iterator_tag);
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-public:
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // implements range assign
     template <class _InputIter>
     void _C_assign (_InputIter __first, _InputIter __last, void*) {
@@ -1291,6 +1279,7 @@
         else
             _C_insert(end(), __x);
     }
+
     void pop_back () { --_C_end; }
 
     iterator insert (iterator __it, const bool& __x = bool())
@@ -1304,16 +1293,12 @@
         _C_insert(__it, __x);
       return begin() + __n;
     }
+
     void insert (iterator __it, size_type __n, const bool& __x);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
     template<class _InputIter>
     void insert (iterator __it, _InputIter __first,
                  _InputIter __last);
-#else
-    void insert (iterator __it, const_iterator __first, 
-                 const_iterator __last);
-#endif
 
     iterator erase (iterator __it)
     {
@@ -1322,11 +1307,13 @@
       --_C_end;
       return __it;
     }
+
     iterator erase(iterator __first, iterator __last)
     {
       _C_end = _C_copy(__last, end(), __first);
       return __first;
     }
+
     void swap (_C_self& __x)
     {
       if((_C_value_alloc_type)*this == (_C_value_alloc_type)__x)
@@ -1342,8 +1329,11 @@
         __x=_x;
       } 
     }
+
     static void swap(reference __x, reference __y);
+
     void flip ();
+
     void clear()
     {
       erase(begin(),end());

Modified: stdcxx/branches/4.3.x/include/vector.cc
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/include/vector.cc?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/include/vector.cc (original)
+++ stdcxx/branches/4.3.x/include/vector.cc Tue Jul 22 14:24:01 2008
@@ -318,8 +318,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template<class _TypeT, class _Allocator>
 template<class _InputIter>
 void vector<_TypeT, _Allocator>::
@@ -327,17 +325,6 @@
 {
     vector* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template<class _TypeT, class _Allocator, class _InputIter>
-void 
-__rw_assign_range (vector<_TypeT, _Allocator> *__self,
-                   _InputIter __first, _InputIter __last, input_iterator_tag)
-{
-    typedef typename vector<_TypeT, _Allocator>::iterator iterator;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__first, __last);
 
 #ifndef _RWSTD_NO_EXT_VECTOR_ASSIGN_IN_PLACE
@@ -384,8 +371,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template <class _FwdIter>
 void vector<_TypeT, _Allocator>::
@@ -393,23 +378,6 @@
 {
     vector* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _FwdIter>
-void
-__rw_assign_range (vector<_TypeT, _Allocator> *__self,
-                   _FwdIter __first, _FwdIter __last, forward_iterator_tag)
-{
-    typedef typename vector<_TypeT, _Allocator>::value_type value_type;
-    typedef typename vector<_TypeT, _Allocator>::allocator_type
-        allocator_type;
-    typedef typename vector<_TypeT, _Allocator>::_C_value_alloc_type
-        _C_value_alloc_type;
-    typedef typename vector<_TypeT, _Allocator>::size_type size_type;
-    typedef typename vector<_TypeT, _Allocator>::iterator  iterator;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__first, __last);
 
 #ifndef _RWSTD_NO_EXT_VECTOR_ASSIGN_IN_PLACE
@@ -477,8 +445,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template <class _InputIter>
 void vector<_TypeT, _Allocator>::
@@ -487,21 +453,6 @@
 {
     vector* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _VectorIter, class _InputIter>
-void
-__rw_insert_range (vector<_TypeT, _Allocator> *__self, _VectorIter __it,
-                   _InputIter __first, _InputIter __last, input_iterator_tag)
-{
-    typedef typename vector<_TypeT, _Allocator>::value_type value_type;
-    typedef typename vector<_TypeT, _Allocator>::allocator_type
-        allocator_type;
-    typedef typename vector<_TypeT, _Allocator>::size_type size_type;
-    typedef typename vector<_TypeT, _Allocator>::pointer   pointer;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__it, end ());
     _RWSTD_ASSERT_RANGE (__first, __last);
 
@@ -578,8 +529,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 template <class _TypeT, class _Allocator>
 template <class _FwdIter>
 void vector<_TypeT, _Allocator>::
@@ -588,25 +537,6 @@
 {
     vector* const __self = this;
 
-#else   // if defined (_RWSTD_NO_MEMBER_TEMPLATES)
-
-template <class _TypeT, class _Allocator, class _VectorIter, class _FwdIter>
-void
-__rw_insert_range (vector<_TypeT, _Allocator> *__self,  _VectorIter __it,
-                   _FwdIter __first, _FwdIter __last,
-                   forward_iterator_tag)
-{
-    typedef typename vector<_TypeT, _Allocator>::value_type value_type;
-    typedef typename vector<_TypeT, _Allocator>::allocator_type
-        allocator_type;
-    typedef typename vector<_TypeT, _Allocator>::_C_value_alloc_type
-        _C_value_alloc_type;
-    typedef typename vector<_TypeT, _Allocator>::size_type size_type;
-    typedef typename vector<_TypeT, _Allocator>::pointer pointer;
-    typedef typename vector<_TypeT, _Allocator>::iterator iterator;
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     _RWSTD_ASSERT_RANGE (__it, end ());
     _RWSTD_ASSERT_RANGE (__first, __last);
 
@@ -732,7 +662,6 @@
 
 #ifndef _RWSTD_NO_BOOL
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
 // The body of this function is duplicated in src/vecbool.cpp and
 // further down in this file as well.
 #if !defined (_RWSTD_NO_CLASS_PARTIAL_SPEC) 
@@ -768,7 +697,6 @@
       _C_begin = iterator(__q, 0);
     }
   }
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
 
 #ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC
 
@@ -850,35 +778,6 @@
   }
 
 
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-  template <class _Allocator>
-  void vector<bool,_Allocator >::insert (iterator       __it,
-                                         const_iterator __first,
-                                         const_iterator __last)
-  {
-    if (__first == __last) return;
-    size_type __n = _DISTANCE(__first, __last, size_type);
-    if (capacity() - size() >= __n)
-    {
-      _C_copy_backward(__it, end(), _C_end + __n);
-      _C_copy(__first, __last, __it);
-      _C_end += __n;
-    }
-    else
-    {
-      size_type __len = size() + (max)(size(), __n);
-      unsigned int* __q = _C_bit_alloc(__len);
-      iterator __i = _C_copy(begin(), __it, iterator(__q, 0));
-      __i = _C_copy(__first, __last, __i);
-      _C_end = _C_copy(__it, end(), __i);
-      _C_value_alloc_type (*this).
-          deallocate((pointer)_C_begin._C_p,_C_bufend - _C_begin._C_p);
-      _C_bufend = __q + (__len + _RWSTD_WORD_BIT - 1)/_RWSTD_WORD_BIT;
-      _C_begin = iterator(__q, 0);
-    }
-  }
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
-
   template <class _Allocator>
   void vector<bool,_Allocator >::resize (size_type __new_size, bool __c)
   {

Modified: stdcxx/branches/4.3.x/src/vecbool.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/src/vecbool.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/src/vecbool.cpp (original)
+++ stdcxx/branches/4.3.x/src/vecbool.cpp Tue Jul 22 14:24:01 2008
@@ -124,36 +124,6 @@
 }
 
 
-#  ifdef _RWSTD_NO_MEMBER_TEMPLATES
-
-// The body of this function is duplicated in include/vector.cc
-void vector<bool, allocator<bool> >::
-insert (iterator pos, const_iterator __first, const_iterator __last)
-{
-    if (__first == __last)
-        return;
-
-    size_type __n = _DISTANCE (__first, __last, size_type);
-    if (capacity() - size() >= __n) {
-        _C_copy_backward(pos, end(), _C_end + __n);
-        _C_copy(__first, __last, pos);
-        _C_end += __n;
-    }
-    else {
-        size_type __len = size() + max(size(), __n);
-        unsigned int* __q = _C_bit_alloc(__len);
-        iterator __i = _C_copy(begin(), pos, iterator(__q, 0));
-        __i = _C_copy(__first, __last, __i);
-        _C_end = _C_copy(pos, end(), __i);
-        _C_value_alloc_type (*this).
-            deallocate(_C_begin._C_p,_C_bufend-_C_begin._C_p);
-        _C_bufend = __q + (__len + _RWSTD_WORD_BIT - 1)/_RWSTD_WORD_BIT;
-        _C_begin = iterator(__q, 0);
-    }
-}
-
-#  endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 void vector<bool, allocator<bool> >::
 resize (size_type __new_size, bool __c)
 {

Modified: stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp (original)
+++ stdcxx/branches/4.3.x/tests/containers/23.bitset.cpp Tue Jul 22 14:24:01 2008
@@ -278,13 +278,12 @@
 
     MEMFUN (unsigned long, to_ulong, () const);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  if !defined (__HP_aCC) || __HP_aCC >= 60000
+#if !defined (__HP_aCC) || __HP_aCC >= 60000
 
      // working around HP aCC bugs PR #23312 and bug #503
 
-#    define PARAMLIST_3(T)   T, std::char_traits<T>, std::allocator<T>
-#    define PARAMLIST_2(T)   T, std::char_traits<T>
+#  define PARAMLIST_3(T)   T, std::char_traits<T>, std::allocator<T>
+#  define PARAMLIST_2(T)   T, std::char_traits<T>
 
     // exercise the overloaded member template function and ordinary
     // member function to_string()
@@ -293,21 +292,20 @@
     MEMFUN (std::basic_string<PARAMLIST_3 (char) >,
             to_string, (char, char) const);
 
-#    ifndef _RWSTD_NO_WCHAR_T
+#  ifndef _RWSTD_NO_WCHAR_T
 
     MEMFUN (std::basic_string<PARAMLIST_3 (wchar_t) >,
             to_string<PARAMLIST_3 (wchar_t) >, (wchar_t, wchar_t) const);
 
-#    endif   // _RWSTD_NO_WCHAR_T
+#  endif   // _RWSTD_NO_WCHAR_T
 
     MEMFUN (std::basic_string<PARAMLIST_3 (int) >,
             to_string<PARAMLIST_3 (int) >, (int, int) const);
 
-#    undef PARAMLIST_3
-#    undef PARAMLIST_2
+#  undef PARAMLIST_3
+#  undef PARAMLIST_2
 
-#  endif   // !__HP_aCC || __HP_aCC >= 60000
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // !__HP_aCC || __HP_aCC >= 60000
 
     MEMFUN (std::size_t, size, () const);
     MEMFUN (std::size_t, count, () const);
@@ -348,17 +346,16 @@
     FUN (std::basic_ostream< PARAMLIST (char) >&, std::operator<<,
          (std::basic_ostream< PARAMLIST (char) >&, const Bitset&));
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-#  ifndef _RWSTD_NO_WCHAR_T
+#ifndef _RWSTD_NO_WCHAR_T
 
     FUN (std::basic_istream< PARAMLIST (wchar_t) >&, std::operator>>,
          (std::basic_istream< PARAMLIST (wchar_t) >&, Bitset&));
     FUN (std::basic_ostream< PARAMLIST (wchar_t) >&, std::operator<<,
          (std::basic_ostream< PARAMLIST (wchar_t) >&, const Bitset&));
 
-#  endif   // _RWSTD_NO_WCHAR_T
+#endif   // _RWSTD_NO_WCHAR_T
 
-#  if !defined (_MSC_VER) || _MSC_VER > 1300
+#if !defined (_MSC_VER) || _MSC_VER > 1300
 
     // MSVC is too dumb to handle bitset inserters and extractors
     // parametrized on multiple template paramenters
@@ -367,8 +364,7 @@
     FUN (std::basic_ostream< PARAMLIST (int) >&, std::operator<<,
          (std::basic_ostream< PARAMLIST (int) >&, const Bitset&));
 
-#  endif   // !defined (_MSC_VER) || _MSC_VER > 1300
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // !defined (_MSC_VER) || _MSC_VER > 1300
 
 #undef PARAMLIST
 
@@ -839,8 +835,6 @@
 }
 
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 // call the bitset<N>::to_string() member function template,
 // explicitly specifying all three template arguments,
 // and 2, 1, or 0 of the two default function arguments
@@ -967,8 +961,6 @@
     return bs.template to_string<UserChar>(zero, one);
 }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
 // call the bitset<N>::to_string() ordinary member function,
 // explicitly specifying none of the three template arguments,
@@ -1056,8 +1048,6 @@
 
     int pos;
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     ////////////////////////////////////////////////////////////////////////
     // exercise the overload of the to_string() member function template
     // that takes all three template parameters different from char,
@@ -1212,8 +1202,6 @@
                to_string (ts.bits (), "ox").c_str (),
                TO_STR (str1), pos);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
 
     ////////////////////////////////////////////////////////////////////////
     // exercise the non-template overload of the to_string() member

Modified: stdcxx/branches/4.3.x/tests/localization/22.locale.synopsis.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/localization/22.locale.synopsis.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/localization/22.locale.synopsis.cpp (original)
+++ stdcxx/branches/4.3.x/tests/localization/22.locale.synopsis.cpp Tue Jul 22 14:24:01 2008
@@ -442,13 +442,9 @@
 
     static std::locale::id id;
 
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
-
     virtual std::locale::id& _C_get_id () const {
         return id;
     }
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 };
 
 
@@ -571,14 +567,12 @@
             ~Facet () {
                 is_dtor_virtual = true;
             }
-#ifdef _RWSTD_NO_MEMBER_TEMPLATES
 
             virtual std::locale::id& _C_get_id () const {
                 static std::locale::id id;
                 return id;
             }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
         };
 
         // delete a derived object using a pointer to the base
@@ -606,8 +600,6 @@
     // 22.1.1.2, p9
     (void)std::locale (l, "", std::locale::all);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     Facet *pf = new Facet (1 /* ref count */);
 
     {
@@ -646,8 +638,6 @@
 
     pf = 0;
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // 22.1.1.2, p14
     (void)std::locale (l, l, std::locale::all);
 
@@ -670,18 +660,14 @@
 
 #endif   // __HP_aCC > 33000
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
-#  if !defined __HP_aCC || __HP_aCC > 33100
+#if !defined __HP_aCC || __HP_aCC > 33100
 
     // working around an HP aCC bug (see PR #23312)
 
     // 22.1.1.3, p1
     MEMFUN (std::locale, combine<Facet>, (const std::locale&) const);
 
-#  endif   // __HP_aCC > 33000
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // __HP_aCC > 33000
 
     // 22.1.1.3, p5
     MEMFUN (std::string, name, () const);
@@ -701,15 +687,11 @@
 
 #endif   // _RWSTD_NO_WCHAR_T
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     // exercise a specialization other than on the default char types
     typedef StringTypes<int>::string_type IntString;
 
     MEMFUN (bool, operator(), (const IntString&, const IntString&) const);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     // 22.1.1.5
     FUN (std::locale, std::locale::global, (const std::locale&));
     FUN (const std::locale&, std::locale::classic, ());

Modified: stdcxx/branches/4.3.x/tests/strings/21.string.exceptions.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/strings/21.string.exceptions.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/strings/21.string.exceptions.cpp (original)
+++ stdcxx/branches/4.3.x/tests/strings/21.string.exceptions.cpp Tue Jul 22 14:24:01 2008
@@ -308,8 +308,6 @@
 static void
 test_len_ctor ()
 {
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     rw_info (0, __FILE__, __LINE__, "21.3.1, p15");
 
     int thrown = 0;
@@ -326,8 +324,6 @@
     rw_assert (1 == thrown, __FILE__, __LINE__,
                "string::string (InputIterator, InputIterator)"
                "failed to use __rw::__rw_throw()");
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 }
 
 /**************************************************************************/

Modified: stdcxx/branches/4.3.x/tests/utilities/20.auto.ptr.cpp
URL: http://svn.apache.org/viewvc/stdcxx/branches/4.3.x/tests/utilities/20.auto.ptr.cpp?rev=678913&r1=678912&r2=678913&view=diff
==============================================================================
--- stdcxx/branches/4.3.x/tests/utilities/20.auto.ptr.cpp (original)
+++ stdcxx/branches/4.3.x/tests/utilities/20.auto.ptr.cpp Tue Jul 22 14:24:01 2008
@@ -192,13 +192,12 @@
     FUN (T*, T, release, () _PTR_THROWS (()));
     FUN (void, T, reset, (T*) _PTR_THROWS (()));
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
 
-#  if !defined(__GNUG__) || __GNUG__ > 3 || __GNUG__ == 3 && __GNUC_MINOR__ > 2
+#if !defined(__GNUG__) || __GNUG__ > 3 || __GNUG__ == 3 && __GNUC_MINOR__ > 2
 
      // g++ 2.95.2 and HP aCC can't take the address of a template member
 
-#    if !defined (__HP_aCC) || _RWSTD_HP_aCC_MAJOR > 5
+#  if !defined (__HP_aCC) || _RWSTD_HP_aCC_MAJOR > 5
 
     // SunPro incorrectly warns here (see PR #27276)
     FUN (std::auto_ptr<Base>&, Base,
@@ -206,24 +205,22 @@
 
        // SunPro 5.4 can't decide between a ctor template
        // and a conversion operator (see PR #24476)
-#      if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x540
+#    if !defined (__SUNPRO_CC) || __SUNPRO_CC > 0x540
 
-#        if !defined (_RWSTD_MSVC) || _RWSTD_MSVC > 1310
+#      if !defined (_RWSTD_MSVC) || _RWSTD_MSVC > 1310
     FUN (std::auto_ptr_ref<Base>, Derived,
          operator std::auto_ptr_ref<Base>, () _PTR_THROWS (()));
 
     FUN (std::auto_ptr<Base>, Derived,
          operator std::auto_ptr<Base>, () _PTR_THROWS (()));
 
-#        endif   // MSVC > 7.1
+#      endif   // MSVC > 7.1
 
-#      endif   // SunPro > 5.4
+#    endif   // SunPro > 5.4
 
-#    endif   // HP aCC > 5
+#  endif   // HP aCC > 5
 
-#  endif   // gcc > 3.2
-
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
+#endif   // gcc > 3.2
 
     rw_info (0, 0, 0, "[lib.auto.ptr.cons]");
 
@@ -291,23 +288,19 @@
     ap1 = ap1;
     ap1.operator= (ap1);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
-#  if !defined (__HP_aCC) || 6 <=  _RWSTD_HP_aCC_MAJOR
+#if !defined (__HP_aCC) || 6 <=  _RWSTD_HP_aCC_MAJOR
 
     // working around an HP aCC 3 and 5 bug (STDCXX-655)
 
     ap1.operator=<void>(ap1);
 
-#  endif   // !HP aCC or HP aCC 6 and better
+#endif   // !HP aCC or HP aCC 6 and better
 
     std::auto_ptr<int> ap4;
     ap1 = ap4;
     ap1.operator= (ap4);
     ap1.operator=<int>(ap4);
 
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
-
     // operator*() cannot be instantiated
 
     void* pv;
@@ -319,9 +312,7 @@
     ap1.reset ();
     ap1.reset (pv);
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
-#  if !defined (__HP_aCC) || 6 <=  _RWSTD_HP_aCC_MAJOR
+#if !defined (__HP_aCC) || 6 <=  _RWSTD_HP_aCC_MAJOR
 
     // working around an HP aCC 3 and 5 bug (STDCXX-656)
 
@@ -331,15 +322,11 @@
     _RWSTD_UNUSED (ar);
     _RWSTD_UNUSED (ap5);
 
-#  endif   // !HP aCC or HP aCC 6 and better
-#endif // _RWSTD_NO_MEMBER_TEMPLATES
-
+#endif   // !HP aCC or HP aCC 6 and better
 }
 
 /**************************************************************************/
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
 // exercise 20.4.5.4
 static std::auto_ptr<Derived>
 test_auto_ptr_conversions ()
@@ -422,7 +409,6 @@
     }
 }
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
 
 /**************************************************************************/
 
@@ -444,8 +430,6 @@
     test_auto_ptr ((double*)0, "double");
     test_auto_ptr ((void**)0, "void*");
 
-#ifndef _RWSTD_NO_MEMBER_TEMPLATES
-
     int count = Base::cnt_;
 
     // exercise 20.4.5.4
@@ -458,8 +442,6 @@
     rw_assert (count == Base::cnt_, 0, __LINE__,
                "autoptr leaked %d objects", Base::cnt_ - count);
 
-#endif   // _RWSTD_NO_MEMBER_TEMPLATES
-
     if (!rw_enabled ("void"))
         rw_note (0, 0, 0, "auto_ptr<void> test disabled");
     else



Mime
View raw message