[libcxx-commits] [libcxx] [libc++][ASan] Fix std::basic_string trait type (PR #91590)

via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 9 06:24:03 PDT 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Tacet (AdvenamTacet)

<details>
<summary>Changes</summary>

Addresses comment: https://github.com/llvm/llvm-project/pull/79536#discussion_r1593652240

Changes type to `void` instead of `false_type`.

The value is used here:

https://github.com/llvm/llvm-project/blob/main/libcxx/include/__type_traits/is_trivially_relocatable.h#L35-L38

---
Full diff: https://github.com/llvm/llvm-project/pull/91590.diff


1 Files Affected:

- (modified) libcxx/include/string (+2-2) 


``````````diff
diff --git a/libcxx/include/string b/libcxx/include/string
index 8f629d8bf13c8..1db803e822d72 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -741,8 +741,8 @@ public:
   // is kept inside objects memory (short string optimization), instead of in allocated
   // external memory. In such cases, the destructor is responsible for unpoisoning
   // the memory to avoid triggering false positives.
-  // Therefore it's crucial to ensure the destructor is called
-  using __trivially_relocatable = false_type;
+  // Therefore it's crucial to ensure the destructor is called.
+  using __trivially_relocatable = void;
 #else
   using __trivially_relocatable = __conditional_t<
       __libcpp_is_trivially_relocatable<allocator_type>::value && __libcpp_is_trivially_relocatable<pointer>::value,

``````````

</details>


https://github.com/llvm/llvm-project/pull/91590


More information about the libcxx-commits mailing list