[libcxx-commits] [libcxx] Revert "[libc++][string] Remove potential non-trailing 0-length array" (PR #108091)
Daniel Thornburgh via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Sep 10 14:08:14 PDT 2024
https://github.com/mysterymath created https://github.com/llvm/llvm-project/pull/108091
Reverts llvm/llvm-project#105865
This breaks a pair of LLDB tests in CI.
>From 72cfc74a7c5cea78b174b668f6accaa955742a51 Mon Sep 17 00:00:00 2001
From: Daniel Thornburgh <mysterymath at gmail.com>
Date: Tue, 10 Sep 2024 14:07:49 -0700
Subject: [PATCH] Revert "[libc++][string] Remove potential non-trailing
0-length array (#105865)"
This reverts commit ed0da008258a3a7df14caa906e23e660174d2507.
---
libcxx/include/string | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/libcxx/include/string b/libcxx/include/string
index aba79a74912f5e..3480b57375c118 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -749,14 +749,6 @@ struct __can_be_converted_to_string_view
struct __uninitialized_size_tag {};
struct __init_with_sentinel_tag {};
-template <size_t _PaddingSize>
-struct __padding {
- char __padding_[_PaddingSize];
-};
-
-template <>
-struct __padding<0> {};
-
template <class _CharT, class _Traits, class _Allocator>
class basic_string {
private:
@@ -861,7 +853,7 @@ private:
struct __short {
value_type __data_[__min_cap];
- _LIBCPP_NO_UNIQUE_ADDRESS __padding<sizeof(value_type) - 1> __padding_;
+ unsigned char __padding_[sizeof(value_type) - 1];
unsigned char __size_ : 7;
unsigned char __is_long_ : 1;
};
@@ -913,7 +905,7 @@ private:
unsigned char __is_long_ : 1;
unsigned char __size_ : 7;
};
- _LIBCPP_NO_UNIQUE_ADDRESS __padding<sizeof(value_type) - 1> __padding_;
+ char __padding_[sizeof(value_type) - 1];
value_type __data_[__min_cap];
};
More information about the libcxx-commits
mailing list