Index: include/std/type_traits =================================================================== --- include/std/type_traits (revision 196609) +++ include/std/type_traits (working copy) @@ -444,7 +444,7 @@ /// is_fundamental template struct is_fundamental - : public __or_, is_void<_Tp>>::type + : public __or_, is_void<_Tp>, __is_nullptr_t<_Tp>>::type { }; /// is_object Index: testsuite/20_util/is_compound/value.cc =================================================================== --- testsuite/20_util/is_compound/value.cc (revision 196609) +++ testsuite/20_util/is_compound/value.cc (working copy) @@ -46,6 +46,9 @@ VERIFY( (test_category(false)) ); VERIFY( (test_category(false)) ); + // libstdc++/56609 + VERIFY( (test_category(false)) ); + // Sanity check. VERIFY( (test_category(true)) ); } Index: testsuite/20_util/is_fundamental/value.cc =================================================================== --- testsuite/20_util/is_fundamental/value.cc (revision 196609) +++ testsuite/20_util/is_fundamental/value.cc (working copy) @@ -46,6 +46,9 @@ VERIFY( (test_category(true)) ); VERIFY( (test_category(true)) ); + // libstdc++/56609 + VERIFY( (test_category(true)) ); + // Sanity check. VERIFY( (test_category(false)) ); }