[libcxx] [test] Fix comment typos, strip trailing whitespace.
No functional change, no code review. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292434 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// <map>
|
// <map>
|
||||||
|
|
||||||
// Check that std::map and it's iterators can be instantiated with an incomplete
|
// Check that std::map and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// <map>
|
// <map>
|
||||||
|
|
||||||
// Check that std::multimap and it's iterators can be instantiated with an incomplete
|
// Check that std::multimap and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// <set>
|
// <set>
|
||||||
|
|
||||||
// Check that std::multiset and it's iterators can be instantiated with an incomplete
|
// Check that std::multiset and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// <set>
|
// <set>
|
||||||
|
|
||||||
// Check that std::set and it's iterators can be instantiated with an incomplete
|
// Check that std::set and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <set>
|
#include <set>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// <list>
|
// <list>
|
||||||
|
|
||||||
// Check that std::list and it's iterators can be instantiated with an incomplete
|
// Check that std::list and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
// <unordered_map>
|
// <unordered_map>
|
||||||
|
|
||||||
// Check that std::unordered_map and it's iterators can be instantiated with an incomplete
|
// Check that std::unordered_map and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
// <unordered_map>
|
// <unordered_map>
|
||||||
|
|
||||||
// Check that std::unordered_multimap and it's iterators can be instantiated with an incomplete
|
// Check that std::unordered_multimap and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
// <unordered_set>
|
// <unordered_set>
|
||||||
|
|
||||||
// Check that std::unordered_multiset and it's iterators can be instantiated with an incomplete
|
// Check that std::unordered_multiset and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
// <unordered_set>
|
// <unordered_set>
|
||||||
|
|
||||||
// Check that std::unordered_set and it's iterators can be instantiated with an incomplete
|
// Check that std::unordered_set and its iterators can be instantiated with an incomplete
|
||||||
// type.
|
// type.
|
||||||
|
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ void doAppendSourceAllocTest(AppendOperatorTestcase const& TC)
|
|||||||
assert(LHS == E);
|
assert(LHS == E);
|
||||||
}
|
}
|
||||||
// input iterator - For non-native char types, appends needs to copy the
|
// input iterator - For non-native char types, appends needs to copy the
|
||||||
// iterator range into a contigious block of memory before it can perform the
|
// iterator range into a contiguous block of memory before it can perform the
|
||||||
// code_cvt conversions.
|
// code_cvt conversions.
|
||||||
// For "char" no allocations will be performed because no conversion is
|
// For "char" no allocations will be performed because no conversion is
|
||||||
// required.
|
// required.
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ void RunTestCase(MultiStringType const& MS) {
|
|||||||
const std::basic_string<CharT> S(TestPath);
|
const std::basic_string<CharT> S(TestPath);
|
||||||
path p; PathReserve(p, S.length() + 1);
|
path p; PathReserve(p, S.length() + 1);
|
||||||
{
|
{
|
||||||
// string provides a contigious iterator. No allocation needed.
|
// string provides a contiguous iterator. No allocation needed.
|
||||||
DisableAllocationGuard g;
|
DisableAllocationGuard g;
|
||||||
path& pref = (p = S);
|
path& pref = (p = S);
|
||||||
assert(&pref == &p);
|
assert(&pref == &p);
|
||||||
@@ -76,7 +76,7 @@ void RunTestCase(MultiStringType const& MS) {
|
|||||||
const std::basic_string_view<CharT> S(TestPath);
|
const std::basic_string_view<CharT> S(TestPath);
|
||||||
path p; PathReserve(p, S.length() + 1);
|
path p; PathReserve(p, S.length() + 1);
|
||||||
{
|
{
|
||||||
// string provides a contigious iterator. No allocation needed.
|
// string provides a contiguous iterator. No allocation needed.
|
||||||
DisableAllocationGuard g;
|
DisableAllocationGuard g;
|
||||||
path& pref = (p = S);
|
path& pref = (p = S);
|
||||||
assert(&pref == &p);
|
assert(&pref == &p);
|
||||||
@@ -102,7 +102,7 @@ void RunTestCase(MultiStringType const& MS) {
|
|||||||
{
|
{
|
||||||
path p; PathReserve(p, Size + 1);
|
path p; PathReserve(p, Size + 1);
|
||||||
{
|
{
|
||||||
// char* pointers are contigious and can be used with code_cvt directly.
|
// char* pointers are contiguous and can be used with code_cvt directly.
|
||||||
// no allocations needed.
|
// no allocations needed.
|
||||||
DisableAllocationGuard g;
|
DisableAllocationGuard g;
|
||||||
path& pref = (p = TestPath);
|
path& pref = (p = TestPath);
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ void doConcatSourceAllocTest(ConcatOperatorTestcase const& TC)
|
|||||||
assert(LHS == E);
|
assert(LHS == E);
|
||||||
}
|
}
|
||||||
// input iterator - For non-native char types, appends needs to copy the
|
// input iterator - For non-native char types, appends needs to copy the
|
||||||
// iterator range into a contigious block of memory before it can perform the
|
// iterator range into a contiguous block of memory before it can perform the
|
||||||
// code_cvt conversions.
|
// code_cvt conversions.
|
||||||
// For "char" no allocations will be performed because no conversion is
|
// For "char" no allocations will be performed because no conversion is
|
||||||
// required.
|
// required.
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ int main() {
|
|||||||
{
|
{
|
||||||
ASSERT_SAME_TYPE(const path::value_type, decltype(path::preferred_separator));
|
ASSERT_SAME_TYPE(const path::value_type, decltype(path::preferred_separator));
|
||||||
static_assert(path::preferred_separator == '/', "");
|
static_assert(path::preferred_separator == '/', "");
|
||||||
// Make preferred_separator ODR used by taking it's address.
|
// Make preferred_separator ODR used by taking its address.
|
||||||
const char* dummy = &path::preferred_separator;
|
const char* dummy = &path::preferred_separator;
|
||||||
((void)dummy);
|
((void)dummy);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ TEST_CASE(access_denied_on_recursion_test_case)
|
|||||||
TEST_CHECK(ec);
|
TEST_CHECK(ec);
|
||||||
TEST_CHECK(it == endIt);
|
TEST_CHECK(it == endIt);
|
||||||
}
|
}
|
||||||
// Same as obove but test operator++().
|
// Same as above but test operator++().
|
||||||
{
|
{
|
||||||
std::error_code ec = GetTestEC();
|
std::error_code ec = GetTestEC();
|
||||||
recursive_directory_iterator it(startDir, ec);
|
recursive_directory_iterator it(startDir, ec);
|
||||||
@@ -222,7 +222,7 @@ TEST_CASE(access_denied_on_recursion_test_case)
|
|||||||
TEST_REQUIRE(ec);
|
TEST_REQUIRE(ec);
|
||||||
TEST_REQUIRE(it == endIt);
|
TEST_REQUIRE(it == endIt);
|
||||||
}
|
}
|
||||||
// Same as obove but testing the throwing constructors
|
// Same as above but testing the throwing constructors
|
||||||
{
|
{
|
||||||
TEST_REQUIRE_THROW(filesystem_error,
|
TEST_REQUIRE_THROW(filesystem_error,
|
||||||
recursive_directory_iterator(permDeniedDir));
|
recursive_directory_iterator(permDeniedDir));
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ TEST_CASE(absolute_path_test)
|
|||||||
TEST_REQUIRE(not p.has_root_name());
|
TEST_REQUIRE(not p.has_root_name());
|
||||||
TEST_REQUIRE(p.has_root_directory());
|
TEST_REQUIRE(p.has_root_directory());
|
||||||
TEST_CHECK(p.is_absolute());
|
TEST_CHECK(p.is_absolute());
|
||||||
// ensure absolute(base) is not recursivly called
|
// ensure absolute(base) is not recursively called
|
||||||
TEST_REQUIRE(base.has_root_name());
|
TEST_REQUIRE(base.has_root_name());
|
||||||
TEST_REQUIRE(base.has_root_directory());
|
TEST_REQUIRE(base.has_root_directory());
|
||||||
|
|
||||||
@@ -73,7 +73,7 @@ TEST_CASE(absolute_path_test)
|
|||||||
TEST_REQUIRE(p.has_root_name());
|
TEST_REQUIRE(p.has_root_name());
|
||||||
TEST_REQUIRE(not p.has_root_directory());
|
TEST_REQUIRE(not p.has_root_directory());
|
||||||
TEST_CHECK(not p.is_absolute());
|
TEST_CHECK(not p.is_absolute());
|
||||||
// absolute is called recursivly on base. The following conditions
|
// absolute is called recursively on base. The following conditions
|
||||||
// must be true for it to return base unmodified
|
// must be true for it to return base unmodified
|
||||||
TEST_REQUIRE(base.has_root_name());
|
TEST_REQUIRE(base.has_root_name());
|
||||||
TEST_REQUIRE(base.has_root_directory());
|
TEST_REQUIRE(base.has_root_directory());
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ TEST_CASE(test_no_resolve_symlink_on_symlink)
|
|||||||
std::error_code expected_ec;
|
std::error_code expected_ec;
|
||||||
#else
|
#else
|
||||||
// On linux symlink permissions are not supported. The error code should
|
// On linux symlink permissions are not supported. The error code should
|
||||||
// be 'operation_not_supported' and the sylink permissions should be
|
// be 'operation_not_supported' and the symlink permissions should be
|
||||||
// unchanged.
|
// unchanged.
|
||||||
const auto expected_link_perms = symlink_status(sym).permissions();
|
const auto expected_link_perms = symlink_status(sym).permissions();
|
||||||
std::error_code expected_ec = std::make_error_code(std::errc::operation_not_supported);
|
std::error_code expected_ec = std::make_error_code(std::errc::operation_not_supported);
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ void test_pmr_uses_alloc(Args&&... args)
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
// Test that T(std::allocator_arg_t, Alloc const&, Args...) construction
|
// Test that T(std::allocator_arg_t, Alloc const&, Args...) construction
|
||||||
// is prefered when T(Args..., Alloc const&) is also available.
|
// is preferred when T(Args..., Alloc const&) is also available.
|
||||||
using T = UsesAllocatorV3<Alloc, sizeof...(Args)>;
|
using T = UsesAllocatorV3<Alloc, sizeof...(Args)>;
|
||||||
assert((doTest<T>(UA_AllocArg, std::forward<Args>(args)...)));
|
assert((doTest<T>(UA_AllocArg, std::forward<Args>(args)...)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// NOTE: Older versions of clang have a bug where they fail to evalute
|
// NOTE: Older versions of clang have a bug where they fail to evaluate
|
||||||
// string_view::at as a constant expression.
|
// string_view::at as a constant expression.
|
||||||
// XFAIL: clang-3.4, clang-3.3
|
// XFAIL: clang-3.4, clang-3.3
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
// template <class F, class T> constexpr decltype(auto) apply(F &&, T &&)
|
// template <class F, class T> constexpr decltype(auto) apply(F &&, T &&)
|
||||||
|
|
||||||
// Testing extended function types. The extented function types are those
|
// Testing extended function types. The extended function types are those
|
||||||
// named by INVOKE but that are not actual callable objects. These include
|
// named by INVOKE but that are not actual callable objects. These include
|
||||||
// bullets 1-4 of invoke.
|
// bullets 1-4 of invoke.
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include "test_macros.h"
|
#include "test_macros.h"
|
||||||
|
|
||||||
// Test that mismatches between strings and wides streams are diagnosed
|
// Test that mismatches between strings and wide streams are diagnosed
|
||||||
|
|
||||||
#if TEST_STD_VER > 11
|
#if TEST_STD_VER > 11
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
// istream_iterator(const istream_iterator& x);
|
// istream_iterator(const istream_iterator& x);
|
||||||
// C++17 says: If is_trivially_copy_constructible_v<T> is true, then
|
// C++17 says: If is_trivially_copy_constructible_v<T> is true, then
|
||||||
// this constructor shall beis a trivial copy constructor.
|
// this constructor is a trivial copy constructor.
|
||||||
|
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
// constexpr istream_iterator();
|
// constexpr istream_iterator();
|
||||||
// C++17 says: If is_trivially_default_constructible_v<T> is true, then this
|
// C++17 says: If is_trivially_default_constructible_v<T> is true, then this
|
||||||
// constructor shall beis a constexpr constructor.
|
// constructor is a constexpr constructor.
|
||||||
|
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|||||||
@@ -29,11 +29,11 @@
|
|||||||
// If T is a literal type, then this destructor shall be a trivial destructor.
|
// If T is a literal type, then this destructor shall be a trivial destructor.
|
||||||
// C++17 says:
|
// C++17 says:
|
||||||
// If is_trivially_default_constructible_v<T> is true, then
|
// If is_trivially_default_constructible_v<T> is true, then
|
||||||
// this constructor (the default ctor) shall beis a constexpr constructor.
|
// this constructor (the default ctor) is a constexpr constructor.
|
||||||
// If is_trivially_copy_constructible_v<T> is true, then
|
// If is_trivially_copy_constructible_v<T> is true, then
|
||||||
// this constructor (the copy ctor) shall beis a trivial copy constructor.
|
// this constructor (the copy ctor) is a trivial copy constructor.
|
||||||
// If is_trivially_destructible_v<T> is true, then this
|
// If is_trivially_destructible_v<T> is true, then this
|
||||||
// destructor shall beis a trivial destructor.
|
// destructor is a trivial destructor.
|
||||||
// Testing the C++17 ctors for this are in the ctor tests.
|
// Testing the C++17 ctors for this are in the ctor tests.
|
||||||
|
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
// string_type negative_sign() const;
|
// string_type negative_sign() const;
|
||||||
|
|
||||||
// The C++ and C standards are silent.
|
// The C++ and C standards are silent.
|
||||||
// On this one, commen sense is the guideline.
|
// On this one, common sense is the guideline.
|
||||||
// If customers complain, I'll endeavor to minimize customer complaints
|
// If customers complain, I'll endeavor to minimize customer complaints
|
||||||
|
|
||||||
#include <locale>
|
#include <locale>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
// REQUIRES: locale.zh_CN.UTF-8
|
// REQUIRES: locale.zh_CN.UTF-8
|
||||||
|
|
||||||
// GLIBC Expects "10/06/2009" for fr_FR as opposed to "10.06.2009"
|
// GLIBC Expects "10/06/2009" for fr_FR as opposed to "10.06.2009"
|
||||||
// GLIBC also failes on the zh_CN test.
|
// GLIBC also fails on the zh_CN test.
|
||||||
// XFAIL: linux
|
// XFAIL: linux
|
||||||
|
|
||||||
// <locale>
|
// <locale>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
// REQUIRES: locale.zh_CN.UTF-8
|
// REQUIRES: locale.zh_CN.UTF-8
|
||||||
|
|
||||||
// GLIBC Expects "10/06/2009" for fr_FR as opposed to "10.06.2009"
|
// GLIBC Expects "10/06/2009" for fr_FR as opposed to "10.06.2009"
|
||||||
// GLIBC also failes on the zh_CN test.
|
// GLIBC also fails on the zh_CN test.
|
||||||
// XFAIL: linux
|
// XFAIL: linux
|
||||||
|
|
||||||
// <locale>
|
// <locale>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//
|
//
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// NOTE: Older versions of clang have a bug where they fail to evalute
|
// NOTE: Older versions of clang have a bug where they fail to evaluate
|
||||||
// string_view::at as a constant expression.
|
// string_view::at as a constant expression.
|
||||||
// XFAIL: clang-3.4, clang-3.3
|
// XFAIL: clang-3.4, clang-3.3
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// Overview
|
// Overview
|
||||||
// Check that std::terminate is called if wait(...) fails to meet it's post
|
// Check that std::terminate is called if wait(...) fails to meet its post
|
||||||
// conditions. This can happens when reacquiring the mutex throws
|
// conditions. This can happen when reacquiring the mutex throws
|
||||||
// an exception.
|
// an exception.
|
||||||
//
|
//
|
||||||
// The following methods are tested within this file
|
// The following methods are tested within this file
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
// 6. void wait_until(Lock& lock, TimePoint, Pred);
|
// 6. void wait_until(Lock& lock, TimePoint, Pred);
|
||||||
//
|
//
|
||||||
// Plan
|
// Plan
|
||||||
// 1 Create a mutex type, 'ThrowingMutex', that throws when the lock is aquired
|
// 1 Create a mutex type, 'ThrowingMutex', that throws when the lock is acquired
|
||||||
// for the *second* time.
|
// for the *second* time.
|
||||||
//
|
//
|
||||||
// 2 Replace the terminate handler with one that exits with a '0' exit code.
|
// 2 Replace the terminate handler with one that exits with a '0' exit code.
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ public:
|
|||||||
// A Each allocation performed during thread construction should be performed
|
// A Each allocation performed during thread construction should be performed
|
||||||
// in the parent thread so that std::terminate is not called if
|
// in the parent thread so that std::terminate is not called if
|
||||||
// std::bad_alloc is thrown by new.
|
// std::bad_alloc is thrown by new.
|
||||||
// B std::threads constructor should properly handle exceptions and not leak
|
// B std::thread's constructor should properly handle exceptions and not leak
|
||||||
// memory.
|
// memory.
|
||||||
// Plan:
|
// Plan:
|
||||||
// 1 Create a thread and count the number of allocations, 'N', it performs.
|
// 1 Create a thread and count the number of allocations, 'N', it performs.
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
// types can be null. The other categories are not tested here.
|
// types can be null. The other categories are not tested here.
|
||||||
// 3) '__not_null(Callable)' is well formed when the call signature includes
|
// 3) '__not_null(Callable)' is well formed when the call signature includes
|
||||||
// varargs.
|
// varargs.
|
||||||
// 4) '__not_null(Callable)' works for Callable types with all aritys less
|
// 4) '__not_null(Callable)' works for Callable types with all arities less
|
||||||
// than or equal to 3 in C++03.
|
// than or equal to 3 in C++03.
|
||||||
// 5) '__not_null(Callable)' works when 'Callable' is a member function
|
// 5) '__not_null(Callable)' works when 'Callable' is a member function
|
||||||
// pointer to a cv or ref qualified function type.
|
// pointer to a cv or ref qualified function type.
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
//
|
//
|
||||||
// Plan
|
// Plan
|
||||||
// 1 Default construct unique_ptr's with various deleter types (C-1)
|
// 1 Default construct unique_ptr's with various deleter types (C-1)
|
||||||
// 2 Default construct a unique_ptr with a incomplete element_type and
|
// 2 Default construct a unique_ptr with an incomplete element_type and
|
||||||
// various deleter types (C-1,2)
|
// various deleter types (C-1,2)
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|||||||
@@ -84,12 +84,12 @@ int main()
|
|||||||
T* ptr = new T;
|
T* ptr = new T;
|
||||||
std::shared_ptr<T> s(ptr);
|
std::shared_ptr<T> s(ptr);
|
||||||
{
|
{
|
||||||
// Don't re-initialize the "enabled_shared_from_this" base
|
// Don't re-initialize the "enable_shared_from_this" base
|
||||||
// because it already references a non-expired shared_ptr.
|
// because it already references a non-expired shared_ptr.
|
||||||
std::shared_ptr<T> s2(ptr, &nullDeleter);
|
std::shared_ptr<T> s2(ptr, &nullDeleter);
|
||||||
}
|
}
|
||||||
#if TEST_STD_VER > 14
|
#if TEST_STD_VER > 14
|
||||||
// The enabled_shared_from_this base should still be referencing
|
// The enable_shared_from_this base should still be referencing
|
||||||
// the original shared_ptr.
|
// the original shared_ptr.
|
||||||
assert(!ptr->weak_from_this().expired());
|
assert(!ptr->weak_from_this().expired());
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ int main()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Before C++14, void was not a literal type
|
// Before C++14, void was not a literal type
|
||||||
// In C++14, cv-void is is a literal type
|
// In C++14, cv-void is a literal type
|
||||||
#if TEST_STD_VER < 14
|
#if TEST_STD_VER < 14
|
||||||
test_is_not_literal_type<void>();
|
test_is_not_literal_type<void>();
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -144,8 +144,8 @@ int main()
|
|||||||
assert(&std::get<0>(t2) == &t1);
|
assert(&std::get<0>(t2) == &t1);
|
||||||
}
|
}
|
||||||
// Test constructing a 1-tuple of the form tuple<UDT> from another 1-tuple
|
// Test constructing a 1-tuple of the form tuple<UDT> from another 1-tuple
|
||||||
// 'tuple<T>' where UDT *can* be constructed from 'tuple<T>' In this case
|
// 'tuple<T>' where UDT *can* be constructed from 'tuple<T>'. In this case
|
||||||
// the 'tuple(UTypes...)' ctor should be choosen and 'UDT' constructed frow
|
// the 'tuple(UTypes...)' ctor should be chosen and 'UDT' constructed from
|
||||||
// 'tuple<T>'.
|
// 'tuple<T>'.
|
||||||
{
|
{
|
||||||
using VT = ConstructibleFromTupleAndInt;
|
using VT = ConstructibleFromTupleAndInt;
|
||||||
|
|||||||
@@ -100,8 +100,8 @@ int main()
|
|||||||
assert(std::get<1>(t) == nullptr);
|
assert(std::get<1>(t) == nullptr);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// Check that the SFINAE on the default constructor is not evaluted when
|
// Check that the SFINAE on the default constructor is not evaluated when
|
||||||
// it isn't needed. If the default constructor is evaluted then this test
|
// it isn't needed. If the default constructor is evaluated then this test
|
||||||
// should fail to compile.
|
// should fail to compile.
|
||||||
IllFormedDefault v(0);
|
IllFormedDefault v(0);
|
||||||
std::tuple<IllFormedDefault> t(v);
|
std::tuple<IllFormedDefault> t(v);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
struct DeletedDefault {
|
struct DeletedDefault {
|
||||||
// A class with a deleted default constructor. Used to test the SFINAE
|
// A class with a deleted default constructor. Used to test the SFINAE
|
||||||
// on std::pairs default constructor.
|
// on std::pair's default constructor.
|
||||||
constexpr explicit DeletedDefault(int x) : value(x) {}
|
constexpr explicit DeletedDefault(int x) : value(x) {}
|
||||||
constexpr DeletedDefault() = delete;
|
constexpr DeletedDefault() = delete;
|
||||||
int value;
|
int value;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
// This test doesn't pass due to a constexpr bug in GCC 4.9 that fails
|
// This test doesn't pass due to a constexpr bug in GCC 4.9 that fails
|
||||||
// to initialize any type without a user provided constructor in a constant
|
// to initialize any type without a user provided constructor in a constant
|
||||||
// expression (ie float).
|
// expression (e.g. float).
|
||||||
// XFAIL: gcc-4.9
|
// XFAIL: gcc-4.9
|
||||||
|
|
||||||
// NOTE: The SFINAE on the default constructor is tested in
|
// NOTE: The SFINAE on the default constructor is tested in
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// -*- C++ -*-
|
// -*- C++ -*-
|
||||||
//===-------_------------ constexpr_char_traits ---------------------------===//
|
//===-------------------- constexpr_char_traits ---------------------------===//
|
||||||
//
|
//
|
||||||
// The LLVM Compiler Infrastructure
|
// The LLVM Compiler Infrastructure
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
// the construction of types using an allocator. This type is used to communicate
|
// the construction of types using an allocator. This type is used to communicate
|
||||||
// between the test author, the containers allocator, and the types
|
// between the test author, the containers allocator, and the types
|
||||||
// being constructed by the container.
|
// being constructed by the container.
|
||||||
// The controllers primary functions are:
|
// The controller's primary functions are:
|
||||||
// 1. Allow calls to 'a.construct(p, args...)' to be checked by a test.
|
// 1. Allow calls to 'a.construct(p, args...)' to be checked by a test.
|
||||||
// The test uses 'cc->expect<Args...>()' to specify that the allocator
|
// The test uses 'cc->expect<Args...>()' to specify that the allocator
|
||||||
// should expect one call to 'a.construct' with the specified argument
|
// should expect one call to 'a.construct' with the specified argument
|
||||||
@@ -366,7 +366,7 @@ struct CopyInsertable {
|
|||||||
|
|
||||||
CopyInsertable(CopyInsertable&& other) : CopyInsertable(other) {}
|
CopyInsertable(CopyInsertable&& other) : CopyInsertable(other) {}
|
||||||
|
|
||||||
// Forgive pair for not downcasting this to an lvalue it its constructors.
|
// Forgive pair for not downcasting this to an lvalue in its constructors.
|
||||||
CopyInsertable(CopyInsertable const && other) : CopyInsertable(other) {}
|
CopyInsertable(CopyInsertable const && other) : CopyInsertable(other) {}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
struct AllocController;
|
struct AllocController;
|
||||||
// 'AllocController' is a concrete type that instruments and controls the
|
// 'AllocController' is a concrete type that instruments and controls the
|
||||||
// behavior of of test allocators.
|
// behavior of test allocators.
|
||||||
|
|
||||||
template <class T, size_t ID = 0>
|
template <class T, size_t ID = 0>
|
||||||
class CountingAllocator;
|
class CountingAllocator;
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ bool checkCollectionsEqualBackwards(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We often need to test that the error_code was cleared if no error occurs
|
// We often need to test that the error_code was cleared if no error occurs
|
||||||
// this function returns a error_code which is set to an error that will
|
// this function returns an error_code which is set to an error that will
|
||||||
// never be returned by the filesystem functions.
|
// never be returned by the filesystem functions.
|
||||||
inline std::error_code GetTestEC() {
|
inline std::error_code GetTestEC() {
|
||||||
return std::make_error_code(std::errc::address_family_not_supported);
|
return std::make_error_code(std::errc::address_family_not_supported);
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_NEWLIB_VERSION) && defined(__STRICT_ANSI__)
|
#if defined(_NEWLIB_VERSION) && defined(__STRICT_ANSI__)
|
||||||
// Newlib provies this, but in the header it's under __STRICT_ANSI__
|
// Newlib provides this, but in the header it's under __STRICT_ANSI__
|
||||||
extern "C" {
|
extern "C" {
|
||||||
int mkstemp(char*);
|
int mkstemp(char*);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
// FIXME: This is a hack to allow uses_allocator_types.hpp to work with
|
// FIXME: This is a hack to allow uses_allocator_types.hpp to work with
|
||||||
// erased_type. However we can't define that behavior directly in the header
|
// erased_type. However we can't define that behavior directly in the header
|
||||||
// because it con't include <experimental/memory_resource>
|
// because it can't include <experimental/memory_resource>
|
||||||
template <>
|
template <>
|
||||||
struct TransformErasedTypeAlloc<std::experimental::erased_type> {
|
struct TransformErasedTypeAlloc<std::experimental::erased_type> {
|
||||||
using type = std::experimental::pmr::memory_resource*;
|
using type = std::experimental::pmr::memory_resource*;
|
||||||
|
|||||||
Reference in New Issue
Block a user