From: Kenny Simpson Date: Mon, 4 Jun 2001 18:04:52 +0000 (+0000) Subject: PR libstdc++/3035 and PR libstdc++/3036 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=31990cd54c4c07598ceda192ed4893844f958671;p=gcc.git PR libstdc++/3035 and PR libstdc++/3036 2001-06-04 Kenny Simpson Phil Edwards 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 From-SVN: r42865 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8203b2e08cd..c4828302397 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2001-06-04 Kenny Simpson + Phil Edwards + + 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 PR libstdc++/3034 diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index 8252d97e2be..efb166c1bbc 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -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 @@ -84,7 +89,7 @@ inline bool operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) { template #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