type_traits (is_pod): Use __is_pod.
authorPaolo Carlini <pcarlini@suse.de>
Mon, 30 Apr 2007 10:27:31 +0000 (10:27 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Mon, 30 Apr 2007 10:27:31 +0000 (10:27 +0000)
2007-04-30  Paolo Carlini  <pcarlini@suse.de>

* include/tr1/type_traits (is_pod): Use __is_pod.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/has_trivial_destructor.cc: Adjust.
* testsuite/tr1/4_metaprogramming/type_properties/
has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/has_trivial_constructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/is_pod.cc: Likewise.

From-SVN: r124294

libstdc++-v3/ChangeLog
libstdc++-v3/include/tr1/type_traits
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc

index 49432131ab0bdf9b4998e59cf7f3ab017938ce60..b99cbe708fdbc169ce35c3ac535f8c306e4c573f 100644 (file)
@@ -1,3 +1,15 @@
+2007-04-30  Paolo Carlini  <pcarlini@suse.de>
+
+       * include/tr1/type_traits (is_pod): Use __is_pod.
+       * testsuite/tr1/4_metaprogramming/type_properties/
+       has_trivial_destructor/has_trivial_destructor.cc: Adjust.
+       * testsuite/tr1/4_metaprogramming/type_properties/
+       has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
+       * testsuite/tr1/4_metaprogramming/type_properties/
+       has_trivial_constructor/has_trivial_constructor.cc: Likewise.
+       * testsuite/tr1/4_metaprogramming/type_properties/
+       is_pod/is_pod.cc: Likewise.
+
 2007-04-29  Paolo Carlini  <pcarlini@suse.de>
 
        * include/bits/localefwd.h: Remove redundant inline qualifiers.
index 8645427c63ac070fcbd0df42749606089b40f187..c824ef77a31c44737590dcf410c459e04c63fbe1 100644 (file)
@@ -249,9 +249,7 @@ _GLIBCXX_BEGIN_NAMESPACE(_GLIBCXX_TR1)
 
   template<typename _Tp>
     struct is_pod
-    : public integral_constant<bool, (is_void<_Tp>::value
-                                     || is_scalar<typename
-                                     remove_all_extents<_Tp>::type>::value)>
+    : public integral_constant<bool, __is_pod(_Tp) || is_void<_Tp>::value>
     { };
 
   template<typename _Tp>
index 8296867fad9ea17ccdd72cc44cd42aa30fc4589f..02743a14e95d21474b66fdd62a278a0ca4db8039 100644 (file)
@@ -1,6 +1,6 @@
 // 2004-12-29  Paolo Carlini  <pcarlini@suse.de>
 //
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -48,9 +48,7 @@ void test01()
           int (ClassType::*[2][3])>(true)) );
   VERIFY( (test_category<has_nothrow_constructor,
           int (ClassType::*[][2][3]) (int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<has_nothrow_constructor, ClassType>(false)) );
+  VERIFY( (test_category<has_nothrow_constructor, ClassType>(true)) );
 }
 
 int main()
index 77dcf1fb8e8b0bad68842daa01871a1fa2a3fc73..f6b1a1aa526e7b9435c04e1638f8b869af6fbd74 100644 (file)
@@ -1,6 +1,6 @@
 // 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
 //
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -48,9 +48,7 @@ void test01()
           int (ClassType::*[2][3])>(true)) );
   VERIFY( (test_category<has_trivial_constructor,
           int (ClassType::*[][2][3]) (int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<has_trivial_constructor, ClassType>(false)) );
+  VERIFY( (test_category<has_trivial_constructor, ClassType>(true)) );
 }
 
 int main()
index 3af9c2673dd0e4a2b2e6306c0d30dfd717a6f8a3..197de982b2bde155fa6b6b3c77b2aeaeb6a889ab 100644 (file)
@@ -1,6 +1,6 @@
 // 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
 //
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -48,9 +48,7 @@ void test01()
           int (ClassType::*[2][3])>(true)) );
   VERIFY( (test_category<has_trivial_destructor,
           int (ClassType::*[][2][3]) (int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<has_trivial_destructor, ClassType>(false)) );
+  VERIFY( (test_category<has_trivial_destructor, ClassType>(true)) );
 }
 
 int main()
index 116af85d2d84f09fd628ea27583c424a698fafdf..12a4a4533e7174860394482e9a3906e57a4a029d 100644 (file)
@@ -1,6 +1,6 @@
 // 2004-12-26  Paolo Carlini  <pcarlini@suse.de>
 //
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005, 2006, 2007 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
@@ -45,9 +45,7 @@ void test01()
   VERIFY( (test_category<is_pod, int(*[][2])(int)>(true)) );
   VERIFY( (test_category<is_pod, int (ClassType::*[2][3])>(true)) );
   VERIFY( (test_category<is_pod, int (ClassType::*[][2][3]) (int)>(true)) );
-
-  // Sanity check.
-  VERIFY( (test_category<is_pod, ClassType>(false)) );
+  VERIFY( (test_category<is_pod, ClassType>(true)) );
 }
 
 int main()