re PR libstdc++/19535 (Wrong return types for __pair_get<1>)

2005-01-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19535
	* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
	Fix typo in the return type.
	* testsuite/tr1/6_containers/utility/19535.cc: New.

From-SVN: r93940
This commit is contained in:
Paolo Carlini 2005-01-20 02:13:49 +00:00 committed by Paolo Carlini
parent b3b35f14b0
commit 9634af0238
3 changed files with 52 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2005-01-19 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/19535
* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
Fix typo in the return type.
* testsuite/tr1/6_containers/utility/19535.cc: New.
2005-01-19 Loren J. Rittle <ljrittle@acm.org>
* include/ext/array_allocator.h (array_allocator<>::allocate):

View File

@ -1,6 +1,6 @@
// TR1 utility -*- C++ -*-
// Copyright (C) 2004 Free Software Foundation, Inc.
// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@ -66,11 +66,11 @@ namespace tr1
struct __pair_get<1>
{
template<typename _Tp1, typename _Tp2>
static _Tp1& __get(std::pair<_Tp1, _Tp2>& __pair)
static _Tp2& __get(std::pair<_Tp1, _Tp2>& __pair)
{ return __pair.second; }
template<typename _Tp1, typename _Tp2>
static const _Tp1& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
static const _Tp2& __const_get(const std::pair<_Tp1, _Tp2>& __pair)
{ return __pair.second; }
};

View File

@ -0,0 +1,42 @@
// 2005-01-19 Petur Runolfsson <peturr02@ru.is>
// Copyright (C) 2005 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.
// tr1 additions to pair
#include <tr1/utility>
struct A { };
struct B { };
// libstdc++/19535
void test01()
{
std::pair<A, B> p;
std::tr1::get<1>(p);
const std::pair<B, A> q;
std::tr1::get<1>(q);
}
int main()
{
test01();
return 0;
}