From d37689e9ababe4badbc0132950425d8f3434a5b8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Wed, 14 Jul 2021 09:40:25 +0300 Subject: [PATCH] [libcxx] [test] Remove a LIBCXX-WINDOWS-FIXME in trivial_abi/unique_ptr_ret This is the same thing that was clarified in D105906 for weak_ptr_ret. Differential Revision: https://reviews.llvm.org/D105965 --- libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 index 8b9e730..ce5adfa 100644 --- a/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp +++ b/libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp @@ -15,8 +15,6 @@ // 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 -// XFAIL: LIBCXX-WINDOWS-FIXME - #include #include @@ -48,9 +46,10 @@ int main(int, char**) { // // With trivial_abi, local_addr is the address of a local variable in // make_val, and hence different from &ret. -#if !defined(__i386__) +#if !defined(__i386__) && !defined(_WIN32) // On X86, structs are never returned in registers. // Thus, unique_ptr will be passed indirectly even if it is trivial. + // On Windows, structs with a destructor are always returned indirectly. assert((void*)&ret != local_addr); #endif -- 2.7.4