aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2016-08-03 16:18:30 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2016-08-03 16:18:30 +0100
commit27631a2542a0d95d4c66006ea32adaf212708d02 (patch)
treedb5278083dd06b732ed7d000817d96c2fe289bb7
parentc98583e997e74487876c1a4aafb3d12602e330ff (diff)
downloadgcc-27631a2542a0d95d4c66006ea32adaf212708d02.zip
gcc-27631a2542a0d95d4c66006ea32adaf212708d02.tar.gz
gcc-27631a2542a0d95d4c66006ea32adaf212708d02.tar.bz2
Remove deprecated has_trivial_xxx traits
* include/std/type_traits (has_trivial_default_constructor): Remove. (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise. * testsuite/20_util/has_trivial_copy_assign/requirements/ explicit_instantiation.cc: Remove test. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/requirements/ typedefs.cc: Likewise. * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc: Check has_trivial_default_constructor, has_trivial_copy_constructor, and has_trivial_copy_assign are not defined. * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out tests. * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line number. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. From-SVN: r239079
-rw-r--r--libstdc++-v3/ChangeLog33
-rw-r--r--libstdc++-v3/include/std/type_traits17
-rw-r--r--libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc30
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc54
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc31
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc60
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc31
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc36
-rw-r--r--libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc66
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc4
17 files changed, 40 insertions, 409 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0b2352e..c6b5ec3 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,36 @@
+2016-08-03 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (has_trivial_default_constructor): Remove.
+ (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
+ * testsuite/20_util/has_trivial_copy_assign/requirements/
+ explicit_instantiation.cc: Remove test.
+ * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
+ line number.
+ * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
+ Likewise.
+ * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/requirements/
+ explicit_instantiation.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/requirements/
+ explicit_instantiation.cc: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/requirements/
+ typedefs.cc: Likewise.
+ * testsuite/20_util/has_trivial_default_constructor/value.cc:
+ Likewise.
+ * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
+ Check has_trivial_default_constructor, has_trivial_copy_constructor,
+ and has_trivial_copy_assign are not defined.
+ * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
+ tests.
+ * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
+ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
+ dg-error line number.
+ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
+ Likewise.
+
2016-08-02 Jonathan Wakely <jwakely@redhat.com>
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index bfdc3ba..dd9f57e 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1447,23 +1447,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__has_trivial_destructor(_Tp)>>
{ };
- /// has_trivial_default_constructor (temporary legacy)
- template<typename _Tp>
- struct has_trivial_default_constructor
- : public integral_constant<bool, __has_trivial_constructor(_Tp)>
- { } _GLIBCXX_DEPRECATED;
-
- /// has_trivial_copy_constructor (temporary legacy)
- template<typename _Tp>
- struct has_trivial_copy_constructor
- : public integral_constant<bool, __has_trivial_copy(_Tp)>
- { } _GLIBCXX_DEPRECATED;
-
- /// has_trivial_copy_assign (temporary legacy)
- template<typename _Tp>
- struct has_trivial_copy_assign
- : public integral_constant<bool, __has_trivial_assign(_Tp)>
- { } _GLIBCXX_DEPRECATED;
/// has_virtual_destructor
template<typename _Tp>
diff --git a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
index 558b8c6..1c05f61 100644
--- a/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/declval/requirements/1_neg.cc
@@ -19,7 +19,7 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-error "static assertion failed" "" { target *-*-* } 2272 }
+// { dg-error "static assertion failed" "" { target *-*-* } 2255 }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
deleted file mode 100644
index 6393089..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/explicit_instantiation.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
-
-// Copyright (C) 2010-2016 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/>.
-
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-namespace std
-{
- typedef short test_type;
- template struct has_trivial_copy_assign<test_type>;
-}
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
deleted file mode 100644
index 61e54c1..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
-//
-// Copyright (C) 2010-2016 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/>.
-
-//
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
- // Check for required typedefs
- typedef std::has_trivial_copy_assign<int> 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/has_trivial_copy_assign/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
deleted file mode 100644
index 73a2258..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_assign/value.cc
+++ /dev/null
@@ -1,54 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-
-// 2010-06-08 Paolo Carlini <paolo.carlini@oracle.com>
-//
-// Copyright (C) 2010-2016 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/>.
-
-#include <type_traits>
-#include <testsuite_tr1.h>
-
-void test01()
-{
- using std::has_trivial_copy_assign;
- using namespace __gnu_test;
-
- static_assert(test_property<has_trivial_copy_assign, int>(true), "");
- static_assert(test_property<has_trivial_copy_assign, float>(true), "");
- static_assert(test_property<has_trivial_copy_assign, EnumType>(true), "");
- static_assert(test_property<has_trivial_copy_assign, int*>(true), "");
- static_assert(test_property<has_trivial_copy_assign, int(*)(int)>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- int (ClassType::*)>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- int (ClassType::*) (int)>(true), "");
- static_assert(test_property<has_trivial_copy_assign, int[2]>(true), "");
- static_assert(test_property<has_trivial_copy_assign, float[][3]>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- EnumType[2][3][4]>(true), "");
- static_assert(test_property<has_trivial_copy_assign, int*[3]>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- int(*[][2])(int)>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- int (ClassType::*[2][3])>(true), "");
- static_assert(test_property<has_trivial_copy_assign,
- int (ClassType::*[][2][3]) (int)>(true), "");
-
- // Negative tests.
- static_assert(test_property<has_trivial_copy_assign, void>(false), "");
-}
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc
deleted file mode 100644
index 0a5654c..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/explicit_instantiation.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2007-2016 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/>.
-
-
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-namespace std
-{
- typedef short test_type;
- template struct has_trivial_copy_constructor<test_type>;
-}
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc
deleted file mode 100644
index 1d05506..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/requirements/typedefs.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
-//
-// Copyright (C) 2004-2016 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/>.
-
-//
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
- // Check for required typedefs
- typedef std::has_trivial_copy_constructor<int> 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/has_trivial_copy_constructor/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc
deleted file mode 100644
index 5f7456e..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_copy_constructor/value.cc
+++ /dev/null
@@ -1,60 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-
-// 2004-12-30 Paolo Carlini <pcarlini@suse.de>
-//
-// Copyright (C) 2004-2016 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/>.
-
-// 4.5.3 Type properties
-
-#include <type_traits>
-#include <testsuite_tr1.h>
-
-void test01()
-{
- using std::has_trivial_copy_constructor;
- using namespace __gnu_test;
-
- // Positive tests.
- static_assert(test_category<has_trivial_copy_constructor, int>(true), "");
- static_assert(test_category<has_trivial_copy_constructor, float>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- EnumType>(true), "");
- static_assert(test_category<has_trivial_copy_constructor, int*>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int(*)(int)>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int (ClassType::*)>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int (ClassType::*) (int)>(true), "");
- static_assert(test_category<has_trivial_copy_constructor, int[2]>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- float[][3]>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- EnumType[2][3][4]>(true), "");
- static_assert(test_category<has_trivial_copy_constructor, int*[3]>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int(*[][2])(int)>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int (ClassType::*[2][3])>(true), "");
- static_assert(test_category<has_trivial_copy_constructor,
- int (ClassType::*[][2][3]) (int)>(true), "");
-
- // Negative tests.
- static_assert(test_category<has_trivial_copy_constructor, void>(false), "");
-}
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc
deleted file mode 100644
index cd63213..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/explicit_instantiation.cc
+++ /dev/null
@@ -1,31 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-// 2007-04-30 Benjamin Kosnik <bkoz@redhat.com>
-
-// Copyright (C) 2007-2016 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/>.
-
-
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-namespace std
-{
- typedef short test_type;
- template struct has_trivial_default_constructor<test_type>;
-}
diff --git a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc
deleted file mode 100644
index 80f0b6c..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/requirements/typedefs.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
-//
-// Copyright (C) 2004-2016 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/>.
-
-//
-// NB: This file is for testing type_traits with NO OTHER INCLUDES.
-
-#include <type_traits>
-
-// { dg-do compile }
-
-void test01()
-{
- // Check for required typedefs
- typedef std::has_trivial_default_constructor<int> 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/has_trivial_default_constructor/value.cc b/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc
deleted file mode 100644
index dae437b..0000000
--- a/libstdc++-v3/testsuite/20_util/has_trivial_default_constructor/value.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-// { dg-options "-std=gnu++11 -Wno-deprecated" }
-// { dg-do compile }
-
-// 2004-12-26 Paolo Carlini <pcarlini@suse.de>
-//
-// Copyright (C) 2004-2016 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/>.
-
-// 4.5.3 Type properties
-
-#include <type_traits>
-#include <testsuite_tr1.h>
-
-void test01()
-{
- using std::has_trivial_default_constructor;
- using namespace __gnu_test;
-
- // Positive tests.
- static_assert(test_category<has_trivial_default_constructor, int>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- float>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- EnumType>(true), "");
- static_assert(test_category<has_trivial_default_constructor, int*>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int(*)(int)>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int (ClassType::*)>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int (ClassType::*) (int)>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int[2]>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- float[][3]>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- EnumType[2][3][4]>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int*[3]>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int(*[][2])(int)>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int (ClassType::*[2][3])>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- int (ClassType::*[][2][3]) (int)>(true), "");
- static_assert(test_category<has_trivial_default_constructor,
- ClassType>(true), "");
-
- // Negative tests.
- static_assert(test_category<has_trivial_default_constructor,
- void>(false), "");
-}
diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
index fc9fbe5..1c65a4b 100644
--- a/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc
@@ -24,7 +24,10 @@ namespace gnu
{
// C++11 changes from TR1.
using std::has_trivial_constructor; // { dg-error "has not been declared" }
+ using std::has_trivial_default_constructor; // { dg-error "has not been declared" }
using std::has_nothrow_constructor; // { dg-error "has not been declared" }
using std::has_trivial_copy; // { dg-error "has not been declared" }
+ using std::has_trivial_copy_constructor; // { dg-error "has not been declared" }
+ using std::has_trivial_copy_assign; // { dg-error "has not been declared" }
using std::has_nothrow_copy; // { dg-error "has not been declared" }
}
diff --git a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
index 5e8fc47..69e21b6 100644
--- a/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
@@ -48,4 +48,4 @@ void test01()
// { dg-error "required from here" "" { target *-*-* } 40 }
// { dg-error "required from here" "" { target *-*-* } 42 }
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1937 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1920 }
diff --git a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
index 52f89f3..5240c3e 100644
--- a/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
@@ -48,5 +48,5 @@ void test01()
// { dg-error "required from here" "" { target *-*-* } 40 }
// { dg-error "required from here" "" { target *-*-* } 42 }
-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1833 }
-// { dg-error "declaration of" "" { target *-*-* } 1790 }
+// { dg-error "invalid use of incomplete type" "" { target *-*-* } 1816 }
+// { dg-error "declaration of" "" { target *-*-* } 1773 }
diff --git a/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc b/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
index c23bb91..e7e140d 100644
--- a/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/requirements/dr801.cc
@@ -36,10 +36,6 @@ void test_trivial()
// Negative
/*
- static_assert(std::has_trivial_default_constructor<pair_type>::value,
- "! triv default");
- static_assert(std::has_trivial_copy_assign<pair_type>::value,
- "! triv assign");
static_assert(std::is_trivial<pair_type>::value, "! triv");
static_assert(std::is_pod<pair_type>::value, "! pod");
*/
diff --git a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
index aea73ff..124bf75 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/requirements/dr801.cc
@@ -36,10 +36,6 @@ void test_trivial()
// Negative
/*
- static_assert(std::has_trivial_default_constructor<tuple_type>::value,
- "! triv default");
- static_assert(std::has_trivial_copy_assign<tuple_type>::value,
- "! triv assign");
static_assert(std::is_trivial<tuple_type>::value, "! triv");
static_assert(std::is_pod<tuple_type>::value, "! pod");
*/