diff --git a/libcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp b/libcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp --- a/libcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/shared_ptr_arg.pass.cpp @@ -14,6 +14,7 @@ // There were assertion failures in both parse and codegen, which are fixed in clang 11. // UNSUPPORTED: gcc, clang-4, clang-5, clang-6, clang-7, clang-8, clang-9, clang-10 +// UNSUPPORTED: c++03 #include #include diff --git a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp --- a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_arg.pass.cpp @@ -45,7 +45,7 @@ // // With trivial-abi, expect_1 will see shared == 1 because shared_val is // incremented before get_val returns. - expect_1(&shared, get_val(std::make_unique(&shared))); + expect_1(&shared, get_val(std::unique_ptr(new Node(&shared)))); // Check that the shared-value is still 1. expect_1(&shared, true); diff --git a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp --- a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_array.pass.cpp @@ -14,6 +14,7 @@ // There were assertion failures in both parse and codegen, which are fixed in clang 11. // UNSUPPORTED: gcc, clang-4, clang-5, clang-6, clang-7, clang-8, clang-9, clang-10 +// UNSUPPORTED: c++03 #include #include diff --git a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp --- a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp @@ -53,7 +53,7 @@ char shared_buf[3] = {'0', '0', '0'}; int cur_idx = 0; - func(A(shared_buf, &cur_idx), std::make_unique(shared_buf, &cur_idx), + func(A(shared_buf, &cur_idx), std::unique_ptr(new B(shared_buf, &cur_idx)), C(shared_buf, &cur_idx)); // With trivial_abi, the std::unique_ptr arg is always destructed first. diff --git a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp --- a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp @@ -28,7 +28,7 @@ __attribute__((noinline)) std::unique_ptr make_val(void** local_addr) { call_something(); - auto ret = std::make_unique(); + auto ret = std::unique_ptr(new Node); // Capture the local address of ret. *local_addr = &ret;