Commit 31990cd5 by Kenny Simpson Committed by Phil Edwards

PR libstdc++/3035 and PR libstdc++/3036

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
parent 0631e0bf
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> 2001-06-04 Phil Edwards <pme@sources.redhat.com>
PR libstdc++/3034 PR libstdc++/3034
......
...@@ -41,7 +41,12 @@ struct pair { ...@@ -41,7 +41,12 @@ struct pair {
_T1 first; _T1 first;
_T2 second; _T2 second;
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
//265. std::pair::pair() effects overly restrictive
pair() : first(), second() {}
#else
pair() : first(_T1()), second(_T2()) {} pair() : first(_T1()), second(_T2()) {}
#endif
pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {} pair(const _T1& __a, const _T2& __b) : first(__a), second(__b) {}
template <class _U1, class _U2> template <class _U1, class _U2>
...@@ -84,7 +89,7 @@ inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { ...@@ -84,7 +89,7 @@ inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) {
template <class _T1, class _T2> template <class _T1, class _T2>
#ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS #ifdef _GLIBCPP_RESOLVE_LIB_DEFECTS
//181. make_pair() unintended behavior //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 #else
inline pair<_T1, _T2> make_pair(const _T1& __x, const _T2& __y) inline pair<_T1, _T2> make_pair(const _T1& __x, const _T2& __y)
#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