From patchwork Thu Aug 5 08:47:25 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v3] Implement GB 85 and JP 3 From: Paolo Carlini X-Patchwork-Id: 60938 Message-Id: <4C5A7A9D.60809@oracle.com> To: Gcc Patch List Cc: libstdc++ Date: Thu, 05 Aug 2010 10:47:25 +0200 Hi, committed to mainline. Paolo. ////////// 2010-08-05 Paolo Carlini * include/tr1_impl/utility (begin, end): Remove per GB 85. * testsuite/20_util/pair/range_access.cc: Remove. * include/std/functional (function<>::function()): Remove explicit, per JP 3. Index: include/tr1_impl/utility =================================================================== --- include/tr1_impl/utility (revision 162897) +++ include/tr1_impl/utility (working copy) @@ -1,6 +1,6 @@ // TR1 utility -*- C++ -*- -// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc. +// Copyright (C) 2007, 2008, 2009, 2010 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 @@ -115,26 +115,6 @@ get(const std::pair<_Tp1, _Tp2>& __in) { return __pair_get<_Int>::__const_get(__in); } -#ifdef _GLIBCXX_INCLUDE_AS_CXX0X - /** - * @brief Return the first of a pair containing two input iterators. - * @param p Pair. - */ - template - inline _InputIterator - begin(const std::pair<_InputIterator, _InputIterator>& __p) - { return __p.first; } - - /** - * @brief Return the second of a pair containing two input iterators. - * @param p Pair. - */ - template - inline _InputIterator - end(const std::pair<_InputIterator, _InputIterator>& __p) - { return __p.second; } -#endif - _GLIBCXX_END_NAMESPACE_TR1 } Index: include/std/functional =================================================================== --- include/std/functional (revision 162897) +++ include/std/functional (working copy) @@ -1786,7 +1786,6 @@ * @brief Default construct creates an empty function call wrapper. * @post @c !(bool)*this */ - explicit function() : _Function_base() { } /** Index: testsuite/20_util/pair/range_access.cc =================================================================== --- testsuite/20_util/pair/range_access.cc (revision 162897) +++ testsuite/20_util/pair/range_access.cc (working copy) @@ -1,33 +0,0 @@ -// { dg-do compile } -// { dg-options "-std=gnu++0x" } - -// Copyright (C) 2010 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 Pred 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 -// . - -// 20.3.5.4, pair range access: [pair.range] - -#include -#include - -void -test01() -{ - std::vector v{1.0, 2.0, 3.0}; - auto p = std::make_pair(v.begin(), v.end()); - std::begin(p); - std::end(p); -}