Commit 8a38ebb6 by Paolo Carlini Committed by Paolo Carlini

re PR libstdc++/56609 ([C++11] Several type traits give incorrect results for std::nullptr_t)

2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56609
	* include/std/type_traits (is_fundamental): Add std::nullptr_t.
	* testsuite/20_util/is_fundamental/value.cc: Extend.
	* testsuite/20_util/is_compound/value.cc: Likewise.

From-SVN: r196630
parent 1bfa5973
2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/56609
* include/std/type_traits (is_fundamental): Add std::nullptr_t.
* testsuite/20_util/is_fundamental/value.cc: Extend.
* testsuite/20_util/is_compound/value.cc: Likewise.
2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
......
......@@ -444,7 +444,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// is_fundamental
template<typename _Tp>
struct is_fundamental
: public __or_<is_arithmetic<_Tp>, is_void<_Tp>>::type
: public __or_<is_arithmetic<_Tp>, is_void<_Tp>, __is_nullptr_t<_Tp>>::type
{ };
/// is_object
......
......@@ -46,6 +46,9 @@ void test01()
VERIFY( (test_category<is_compound, double>(false)) );
VERIFY( (test_category<is_compound, long double>(false)) );
// libstdc++/56609
VERIFY( (test_category<is_compound, std::nullptr_t>(false)) );
// Sanity check.
VERIFY( (test_category<is_compound, ClassType>(true)) );
}
......
......@@ -46,6 +46,9 @@ void test01()
VERIFY( (test_category<is_fundamental, double>(true)) );
VERIFY( (test_category<is_fundamental, long double>(true)) );
// libstdc++/56609
VERIFY( (test_category<is_fundamental, std::nullptr_t>(true)) );
// Sanity check.
VERIFY( (test_category<is_fundamental, ClassType>(false)) );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment