Patchwork [v3] Implement GB 85 and JP 3

login
register
mail settings
Submitter Paolo Carlini
Date Aug. 5, 2010, 8:47 a.m.
Message ID <4C5A7A9D.60809@oracle.com>
Download mbox | patch
Permalink /patch/60938/
State New
Headers show

Comments

Paolo Carlini - Aug. 5, 2010, 8:47 a.m.
Hi,

committed to mainline.

Paolo.

//////////
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* 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.

Patch

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<class _InputIterator>
-    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<class _InputIterator>
-    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
-// <http://www.gnu.org/licenses/>.
-
-// 20.3.5.4, pair range access: [pair.range]
-
-#include <utility>
-#include <vector>
-
-void
-test01()
-{
-  std::vector<double> v{1.0, 2.0, 3.0};
-  auto p = std::make_pair(v.begin(), v.end());
-  std::begin(p);
-  std::end(p);
-}