diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp index db91182ebad5..ef1fc4040dc7 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp @@ -47,14 +47,15 @@ void test_array() typedef char array[3]; typedef const char const_array[3]; typedef char incomplete_array[]; -struct incomplete_type; +struct Incomplete; int main() { test_array(); test_array(); test_array(); + test_array(); -// LWG#2581 - static_assert(!std::is_array::value, ""); +// LWG#2582 + static_assert(!std::is_array::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp index 164e9221cdf5..8c8510882bf6 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp @@ -53,7 +53,8 @@ struct incomplete_type; int main() { test_class(); + test_class(); -// LWG#2581 +// LWG#2582 static_assert( std::is_class::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp index 519d4418bab2..40dea443cd41 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp @@ -51,6 +51,6 @@ int main() { test_enum(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_enum::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp index 207d9e56f8df..217bc7e25659 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp @@ -52,6 +52,6 @@ int main() test_floating_point(); test_floating_point(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_floating_point::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp index e3b079985385..3f21b9a7dbcf 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp @@ -88,6 +88,6 @@ int main() TEST_REF_QUALIFIED( int (double, char, ...) ); #endif -// LWG#2581 +// LWG#2582 static_assert(!std::is_function::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp index e9cd36b53a57..a50beeb3e310 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp @@ -66,6 +66,6 @@ int main() test_integral<__uint128_t>(); #endif -// LWG#2581 +// LWG#2582 static_assert(!std::is_integral::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp index fb8df8c3c04c..dfd09ac52bfa 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/is_array.pass.cpp @@ -90,5 +90,5 @@ int main() test_is_not_array(); test_is_not_array(); test_is_not_array(); - test_is_not_array(); // LWG#2581 + test_is_not_array(); // LWG#2582 } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp index 4e7bdbf04c5e..13cad58c0ef3 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp @@ -41,6 +41,6 @@ int main() test_lvalue_ref(); test_lvalue_ref(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_lvalue_reference::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp index 49db6ab033fb..a895a8d447b6 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp @@ -136,6 +136,6 @@ int main() test_member_function_pointer(); #endif -// LWG#2581 +// LWG#2582 static_assert(!std::is_member_function_pointer::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer_no_variadics.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer_no_variadics.pass.cpp index 7afc88fbdd02..b0edea37e8e8 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer_no_variadics.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer_no_variadics.pass.cpp @@ -76,6 +76,6 @@ int main() test_member_function_pointer(); test_member_function_pointer(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_member_function_pointer::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp index 4102f9949f34..76deef4291e7 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp @@ -54,6 +54,6 @@ int main() { test_member_object_pointer(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_member_object_pointer::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp index aad9e3486a88..076204c9c094 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp @@ -51,7 +51,7 @@ int main() { test_nullptr(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_null_pointer::value, ""); } #else diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp index 72c8e36f3c64..f9c83c67d219 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp @@ -54,6 +54,6 @@ int main() test_pointer(); test_pointer(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_pointer::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp index 9451a9172d54..99fd2887981f 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp @@ -43,7 +43,7 @@ int main() test_rvalue_ref(); test_rvalue_ref(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_rvalue_reference::value, ""); #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp index 5f5732394d4e..36ad00400d35 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp @@ -56,6 +56,6 @@ int main() { test_union(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_union::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp index f1763667197f..c7597eb4eaf7 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp @@ -50,6 +50,6 @@ int main() { test_void(); -// LWG#2581 +// LWG#2582 static_assert(!std::is_void::value, ""); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp index 3476d5ceea2b..f601bd12cadb 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp @@ -38,9 +38,12 @@ typedef char array[3]; typedef const char const_array[3]; typedef char incomplete_array[]; +class incomplete_type; + int main() { test_array(); test_array(); test_array(); + test_array(); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp index 49e41380ca27..5fa5da12aef8 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp @@ -38,7 +38,10 @@ class Class { }; +class incomplete_type; + int main() { test_class(); + test_class(); } diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp index a3f18d52a706..02c539712c65 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_arithmetic.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_arithmetic() #endif } +class incomplete_type; + class Empty { }; @@ -98,6 +100,7 @@ int main() test_is_not_arithmetic(); test_is_not_arithmetic(); test_is_not_arithmetic(); + test_is_not_arithmetic(); test_is_not_arithmetic(); test_is_not_arithmetic(); test_is_not_arithmetic(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp index 6a1798ab5adc..d8d5162c1a02 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_compound.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_compound() #endif } +class incomplete_type; + class Empty { }; @@ -81,6 +83,7 @@ int main() test_is_compound(); test_is_compound(); test_is_compound(); + test_is_compound(); test_is_compound(); test_is_compound(); test_is_compound(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp index 2c9ce68d24c6..f776196dd7a9 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_fundamental.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_fundamental() #endif } +class incomplete_type; + class Empty { }; @@ -103,6 +105,7 @@ int main() test_is_not_fundamental(); test_is_not_fundamental(); test_is_not_fundamental(); + test_is_not_fundamental(); test_is_not_fundamental(); test_is_not_fundamental(); test_is_not_fundamental(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp index 44b29df01461..c2804885ac50 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_member_pointer.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_member_pointer() #endif } +class incomplete_type; + class Empty { }; @@ -93,6 +95,7 @@ int main() test_is_not_member_pointer(); test_is_not_member_pointer(); test_is_not_member_pointer(); + test_is_not_member_pointer(); test_is_not_member_pointer(); test_is_not_member_pointer(); test_is_not_member_pointer(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp index 6e93e518a75f..311215b81643 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_object.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_object() #endif } +class incomplete_type; + class Empty { }; @@ -86,7 +88,7 @@ int main() test_is_object(); test_is_object(); test_is_object(); - test_is_object(); + test_is_object(); test_is_object(); test_is_object(); test_is_object(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp index e56c8f761814..b546458bdcb8 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_reference.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_reference() #endif } +class incomplete_type; + class Empty { }; @@ -87,6 +89,7 @@ int main() test_is_not_reference(); test_is_not_reference(); test_is_not_reference(); + test_is_not_reference(); test_is_not_reference(); test_is_not_reference(); test_is_not_reference(); diff --git a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp index 7cdfc301c815..39ac07ad4bc5 100644 --- a/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp +++ b/libcxx/test/std/utilities/meta/meta.unary/meta.unary.comp/is_scalar.pass.cpp @@ -45,6 +45,8 @@ void test_is_not_scalar() #endif } +class incomplete_type; + class Empty { }; @@ -104,6 +106,7 @@ int main() test_is_not_scalar(); test_is_not_scalar(); test_is_not_scalar(); + test_is_not_scalar(); test_is_not_scalar(); test_is_not_scalar(); test_is_not_scalar(); diff --git a/libcxx/www/cxx1z_status.html b/libcxx/www/cxx1z_status.html index 3dee4637203d..1eae13563af5 100644 --- a/libcxx/www/cxx1z_status.html +++ b/libcxx/www/cxx1z_status.html @@ -254,7 +254,7 @@ 2577{shared,unique}_lock should use std::addressofJacksonvilleComplete 2579Inconsistency wrt Allocators in basic_string assignment vs. basic_string::assignJacksonvilleComplete 2581Specialization of <type_traits> variable templates should be prohibitedJacksonvilleComplete - 2582§[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traitsJacksonville + 2582§[res.on.functions]/2's prohibition against incomplete types shouldn't apply to type traitsJacksonvilleComplete 2583There is no way to supply an allocator for basic_string(str, pos)JacksonvilleComplete 2585forward_list::resize(size_type, const value_type&) effects incorrectJacksonvilleComplete 2586Wrong value category used in scoped_allocator_adaptor::construct()Jacksonville