Working the type_traits area: Hooked up to clang's __is_union. Got has_trivial_copy_assign working.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113162 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
// integral_constant
|
||||
|
||||
#include <type_traits>
|
||||
#include <cassert>
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -19,6 +20,7 @@ int main()
|
||||
static_assert(_5::value == 5, "");
|
||||
static_assert((std::is_same<_5::value_type, int>::value), "");
|
||||
static_assert((std::is_same<_5::type, _5>::value), "");
|
||||
static_assert((_5() == 5), "");
|
||||
|
||||
static_assert(std::false_type::value == false, "");
|
||||
static_assert((std::is_same<std::false_type::value_type, bool>::value), "");
|
||||
|
@@ -15,5 +15,5 @@
|
||||
|
||||
int main()
|
||||
{
|
||||
#error has_copy_assign not implemented
|
||||
static_assert((std::has_copy_assign<int>::value), "");
|
||||
}
|
||||
|
@@ -62,9 +62,10 @@ int main()
|
||||
test_has_not_trivial_assign<void>();
|
||||
test_has_not_trivial_assign<A>();
|
||||
test_has_not_trivial_assign<int&>();
|
||||
test_has_not_trivial_assign<NotEmpty>();
|
||||
test_has_not_trivial_assign<Abstract>();
|
||||
|
||||
test_has_trivial_assign<Union>();
|
||||
test_has_trivial_assign<Abstract>();
|
||||
test_has_trivial_assign<Empty>();
|
||||
test_has_trivial_assign<int>();
|
||||
test_has_trivial_assign<double>();
|
||||
@@ -72,6 +73,5 @@ int main()
|
||||
test_has_trivial_assign<const int*>();
|
||||
test_has_trivial_assign<char[3]>();
|
||||
test_has_trivial_assign<char[3]>();
|
||||
test_has_trivial_assign<NotEmpty>();
|
||||
test_has_trivial_assign<bit_zero>();
|
||||
}
|
||||
|
Reference in New Issue
Block a user