[libcxx-commits] [libcxx] d37689e - [libcxx] [test] Remove a LIBCXX-WINDOWS-FIXME in trivial_abi/unique_ptr_ret

Martin Storsjö via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jul 14 13:21:05 PDT 2021


Author: Martin Storsjö
Date: 2021-07-14T23:20:11+03:00
New Revision: d37689e9ababe4badbc0132950425d8f3434a5b8

URL: https://github.com/llvm/llvm-project/commit/d37689e9ababe4badbc0132950425d8f3434a5b8
DIFF: https://github.com/llvm/llvm-project/commit/d37689e9ababe4badbc0132950425d8f3434a5b8.diff

LOG: [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

Added: 
    

Modified: 
    libcxx/test/libcxx/memory/trivial_abi/unique_ptr_ret.pass.cpp

Removed: 
    


################################################################################
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 8b9e7303b6e8c..ce5adfaa63e7d 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 <memory>
 #include <cassert>
 
@@ -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 
diff erent 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
 


        


More information about the libcxx-commits mailing list