[libcxx-commits] [PATCH] D105965: [libcxx] [test] Remove a LIBCXX-WINDOWS-FIXME in trivial_abi/unique_ptr_ret
Martin Storsjö via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jul 14 13:21:15 PDT 2021
This revision was automatically updated to reflect the committed changes.
Closed by commit rGd37689e9abab: [libcxx] [test] Remove a LIBCXX-WINDOWS-FIXME in trivial_abi/unique_ptr_ret (authored by mstorsjo).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D105965/new/
https://reviews.llvm.org/D105965
Files:
libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
Index: libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
===================================================================
--- libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp
+++ 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 <memory>
#include <cassert>
@@ -48,9 +46,10 @@
//
// 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D105965.358716.patch
Type: text/x-patch
Size: 1003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210714/f61e820c/attachment-0001.bin>
More information about the libcxx-commits
mailing list