Index: libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp =================================================================== --- libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp +++ libcxx/test/libcxx/containers/sequences/vector/robust_against_adl.pass.cpp @@ -10,6 +10,7 @@ // +#include #include #include "test_macros.h" @@ -22,8 +23,8 @@ using value_type = T; MyAlloc() = default; template MyAlloc(const MyAlloc&) {} - T *allocate(int n) { return std::allocator().allocate(n); } - void deallocate(T *p, int n) { return std::allocator().deallocate(p, n); } + T *allocate(std::size_t n) { return std::allocator().allocate(n); } + void deallocate(T *p, std::size_t n) { return std::allocator().deallocate(p, n); } }; int main(int, char**) Index: libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp =================================================================== --- libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp +++ libcxx/test/std/containers/sequences/vector.bool/ctor_exceptions.pass.cpp @@ -11,6 +11,7 @@ // (bug report: https://llvm.org/PR58392) // Check that vector constructors don't leak memory when an operation inside the constructor throws an exception +#include #include #include @@ -30,10 +31,11 @@ throw 0; } - T* allocate(int n) { return std::allocator().allocate(n); } - void deallocate(T* ptr, int n) { std::allocator().deallocate(ptr, n); } + T* allocate(std::size_t n) { return std::allocator().allocate(n); } + void deallocate(T* ptr, std::size_t n) { std::allocator().deallocate(ptr, n); } - friend bool operator==(const Allocator&, const Allocator&) { return false; } + template + friend bool operator==(const Allocator&, const Allocator&) { return true; } }; template Index: libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp =================================================================== --- libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp +++ libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp @@ -11,6 +11,7 @@ // (bug report: https://llvm.org/PR58392) // Check that vector constructors don't leak memory when an operation inside the constructor throws an exception +#include #include #include @@ -22,15 +23,19 @@ using value_type = T; using is_always_equal = std::false_type; + template + Allocator(const Allocator&) {} + Allocator(bool should_throw = true) { if (should_throw) throw 0; } - T* allocate(int n) { return std::allocator().allocate(n); } - void deallocate(T* ptr, int n) { std::allocator().deallocate(ptr, n); } + T* allocate(std::size_t n) { return std::allocator().allocate(n); } + void deallocate(T* ptr, std::size_t n) { std::allocator().deallocate(ptr, n); } - friend bool operator==(const Allocator&, const Allocator&) { return false; } + template + friend bool operator==(const Allocator&, const Allocator&) { return true; } }; struct ThrowingT {