2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>

* Revert last Change.

From-SVN: r148757
This commit is contained in:
Paolo Carlini 2009-06-21 00:58:12 +00:00 committed by Paolo Carlini
parent df5639b5bb
commit c14fe41a12
3 changed files with 8 additions and 45 deletions

View File

@ -1,3 +1,7 @@
2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last Change.
2009-06-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40497

View File

@ -175,8 +175,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#ifdef __GXX_EXPERIMENTAL_CXX0X__
template<typename _InputIterator>
inline _InputIterator
next(_InputIterator __x,
typename _InputIterator::difference_type __n = 1)
next(_InputIterator __x, typename
iterator_traits<_InputIterator>::difference_type __n = 1)
{
std::advance(__x, __n);
return __x;
@ -184,8 +184,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _BidirectionalIterator>
inline _BidirectionalIterator
prev(_BidirectionalIterator __x,
typename _BidirectionalIterator::difference_type __n = 1)
prev(_BidirectionalIterator __x, typename
iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
{
std::advance(__x, -__n);
return __x;

View File

@ -1,41 +0,0 @@
// { dg-options "-std=gnu++0x" }
// { dg-do compile }
// Copyright (C) 2009 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 3, 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 COPYING3. If not see
// <http://www.gnu.org/licenses/>.
namespace X
{
class C { };
template<class T> void next(T) { }
template<class T> void prev(T) { }
}
using namespace X;
#include <string>
using namespace std;
// libstdc++/40497
void test01()
{
C c;
next(c);
prev(c);
}