PR libstdc++/3035 and PR libstdc++/3036
authorKenny Simpson <theonetruekenny@yahoo.com>
Mon, 4 Jun 2001 18:04:52 +0000 (18:04 +0000)
committerPhil Edwards <pme@gcc.gnu.org>
Mon, 4 Jun 2001 18:04:52 +0000 (18:04 +0000)
2001-06-04  Kenny Simpson <theonetruekenny@yahoo.com>
            Phil Edwards  <pme@sources.redhat.com>

PR libstdc++/3035 and PR libstdc++/3036
* include/bits/stl_pair.h:  Fix pair ctor and make_pair according
to LWG DR 181 and 265.

Co-Authored-By: Phil Edwards <pme@gcc.gnu.org>
From-SVN: r42865

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_pair.h

index 8203b2e08cd7f6428d51542a6a367af2123f712d..c48283023972b2ad3b12e69e000a5549c092cb6e 100644 (file)
@@ -1,3 +1,10 @@
+2001-06-04  Kenny Simpson <theonetruekenny@yahoo.com>
+            Phil Edwards  <pme@sources.redhat.com>
+
+       PR libstdc++/3035 and PR libstdc++/3036
+       * include/bits/stl_pair.h:  Fix pair ctor and make_pair according
+       to LWG DR 181 and 265.
+
 2001-06-04  Phil Edwards  <pme@sources.redhat.com>
 
        PR libstdc++/3034
index 8252d97e2bef6fc4eaf20ec511bc4b806b191e84..efb166c1bbc2f5a0c474000026bedb22c4a66f9f 100644 (file)
@@ -41,7 +41,12 @@ struct pair {
 
   _T1 first;
   _T2 second;
+#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
+//265.  std::pair::pair() effects overly restrictive
+  pair() : first(), second() {}
+#else
   pair() : first(_T1()), second(_T2()) {}
+#endif
   pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}
 
   template <class _U1, class _U2>
@@ -84,7 +89,7 @@ inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
 template <class _T1, class _T2>
 #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
 //181.  make_pair() unintended behavior
-inline pair<_T1, _T2> make_pair(const _T1 __x, const _T2 __y)
+inline pair<_T1, _T2> make_pair(_T1 __x, _T2 __y)
 #else
 inline pair<_T1, _T2> make_pair(const _T1& __x, const _T2& __y)
 #endif