Cleanup _LIBCPP_HAS_NO_<c++11-feature> in support headers and final tests

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@300637 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Fiselier
2017-04-19 01:02:49 +00:00
parent d311b3c55a
commit 869c5adc90
10 changed files with 35 additions and 39 deletions

View File

@@ -13,6 +13,7 @@
#include <vector>
#include <cassert>
#include "test_macros.h"
#include "asan_testing.h"
class X {
@@ -70,7 +71,7 @@ void test_push_back() {
}
void test_emplace_back() {
#ifndef _LIBCPP_HAS_NO_VARIADICS
#if TEST_STD_VER >= 11
std::vector<X> v;
v.reserve(2);
v.push_back(X(2));
@@ -83,7 +84,7 @@ void test_emplace_back() {
}
assert(v.size() == 1);
assert(is_contiguous_container_asan_correct(v));
#endif // _LIBCPP_HAS_NO_VARIADICS
#endif
}
void test_insert_range() {
@@ -121,7 +122,7 @@ void test_insert() {
}
void test_emplace() {
#ifndef _LIBCPP_HAS_NO_VARIADICS
#if TEST_STD_VER >= 11
std::vector<X> v;
v.reserve(3);
v.insert(v.end(), X(1));
@@ -135,7 +136,7 @@ void test_emplace() {
}
assert(v.size() == 2);
assert(is_contiguous_container_asan_correct(v));
#endif // _LIBCPP_HAS_NO_VARIADICS
#endif
}
void test_insert_range2() {

View File

@@ -179,7 +179,7 @@ int main()
static_assert(( std::__libcpp_is_trivial_iterator<std::basic_string<char>::reverse_iterator> ::value), "");
static_assert(( std::__libcpp_is_trivial_iterator<std::basic_string<char>::const_reverse_iterator>::value), "");
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#if TEST_STD_VER >= 11
// Initializer list (which has no reverse iterators)
static_assert(( std::__libcpp_is_trivial_iterator<std::initializer_list<char>::iterator> ::value), "");
static_assert(( std::__libcpp_is_trivial_iterator<std::initializer_list<char>::const_iterator> ::value), "");

View File

@@ -80,7 +80,7 @@ int main()
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::basic_string<char>::reverse_iterator> ::value), "");
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::basic_string<char>::const_reverse_iterator>::value), "");
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#if TEST_STD_VER >= 11
// Initializer list (which has no reverse iterators)
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::initializer_list<char>::iterator> ::value), "");
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::initializer_list<char>::const_iterator> ::value), "");

View File

@@ -28,6 +28,7 @@
#include <vector>
#include <initializer_list>
#include "test_macros.h"
#include "test_iterators.h"
int main()
@@ -72,7 +73,7 @@ int main()
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::basic_string<char>::reverse_iterator> ::value), "");
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::basic_string<char>::const_reverse_iterator>::value), "");
#ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS
#if TEST_STD_VER >= 11
// Initializer list (which has no reverse iterators)
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::initializer_list<char>::iterator> ::value), "");
static_assert(( std::__libcpp_string_gets_noexcept_iterator<std::initializer_list<char>::const_iterator> ::value), "");

View File

@@ -7,6 +7,8 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++98, c++03
// type_traits
// extension
@@ -16,7 +18,6 @@
#include <type_traits>
#ifndef _LIBCPP_HAS_NO_CONSTEXPR
struct A
{
@@ -54,11 +55,9 @@ struct J
constexpr J* operator&() const &&;
};
#endif // _LIBCPP_HAS_NO_CONSTEXPR
int main()
{
#ifndef _LIBCPP_HAS_NO_CONSTEXPR
static_assert(std::__has_operator_addressof<int>::value == false, "");
static_assert(std::__has_operator_addressof<A>::value == false, "");
static_assert(std::__has_operator_addressof<B>::value == true, "");
@@ -67,5 +66,4 @@ int main()
static_assert(std::__has_operator_addressof<G>::value == true, "");
static_assert(std::__has_operator_addressof<H>::value == true, "");
static_assert(std::__has_operator_addressof<J>::value == true, "");
#endif // _LIBCPP_HAS_NO_CONSTEXPR
}