From b4989a1af96a49180e80487f2da06d4cff0a1b8c Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Fri, 20 Apr 2012 09:39:17 +0000 Subject: [PATCH] re PR libstdc++/53052 ([C++11] is_explicitly_convertible still part of header) 2012-04-20 Paolo Carlini PR libstdc++/53052 * include/std/type_traits (is_explicitly_convertible): Remove. * testsuite/20_util/is_explicitly_convertible: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. From-SVN: r186617 --- libstdc++-v3/ChangeLog | 11 +++++ libstdc++-v3/include/std/type_traits | 6 --- .../requirements/explicit_instantiation.cc | 31 ------------- .../requirements/typedefs.cc | 36 --------------- .../is_explicitly_convertible/value.cc | 45 ------------------- 5 files changed, 11 insertions(+), 118 deletions(-) delete mode 100644 libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/explicit_instantiation.cc delete mode 100644 libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/typedefs.cc delete mode 100644 libstdc++-v3/testsuite/20_util/is_explicitly_convertible/value.cc diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0ef3c815e87..bebc23c0a7c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2012-04-20 Paolo Carlini + + PR libstdc++/53052 + * include/std/type_traits (is_explicitly_convertible): Remove. + * testsuite/20_util/is_explicitly_convertible: Likewise. + * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: + Adjust dg-error line numbers. + * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: + Likewise. + * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. + 2012-04-17 Benjamin Kosnik * testsuite/20_util/specialized_algorithms/uninitialized_copy/ diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits index eb8c6a06fe9..c03b7bd64bb 100644 --- a/libstdc++-v3/include/std/type_traits +++ b/libstdc++-v3/include/std/type_traits @@ -1281,12 +1281,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __is_convertible_helper<_From, _To>::value> { }; - /// is_explicitly_convertible - template - struct is_explicitly_convertible - : public is_constructible<_To, _From> - { }; - // const-volatile modifications. diff --git a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/explicit_instantiation.cc deleted file mode 100644 index 87dd950b27d..00000000000 --- a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/explicit_instantiation.cc +++ /dev/null @@ -1,31 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// { dg-do compile } - -// 2009-12-30 Paolo Carlini - -// 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 -// . - -// NB: This file is for testing type_traits with NO OTHER INCLUDES. - -#include - -namespace std -{ - typedef short test_type; - template struct is_explicitly_convertible; -} diff --git a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/typedefs.cc deleted file mode 100644 index 52ba964b1fd..00000000000 --- a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/requirements/typedefs.cc +++ /dev/null @@ -1,36 +0,0 @@ -// { dg-options "-std=gnu++0x" } -// { dg-do compile } - -// 2009-12-30 Paolo Carlini -// -// 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 -// . - -// -// NB: This file is for testing type_traits with NO OTHER INCLUDES. - -#include - -void test01() -{ - // Check for required typedefs - typedef std::is_explicitly_convertible test_type; - typedef test_type::value_type value_type; - typedef test_type::type type; - typedef test_type::type::value_type type_value_type; - typedef test_type::type::type type_type; -} diff --git a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/value.cc b/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/value.cc deleted file mode 100644 index 7e704873275..00000000000 --- a/libstdc++-v3/testsuite/20_util/is_explicitly_convertible/value.cc +++ /dev/null @@ -1,45 +0,0 @@ -// { dg-options "-std=gnu++0x" } - -// 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 -// . - -#include -#include -#include - -void test01() -{ - bool test __attribute__((unused)) = true; - using std::is_explicitly_convertible; - using namespace __gnu_test; - - // Positive tests. - VERIFY( (test_relationship(true)) ); - VERIFY( (test_relationship(true)) ); - - // Negative tests. - VERIFY( (test_relationship(false)) ); -} - -int main() -{ - test01(); - return 0; -}