Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "[libc++][string] Remove potential non-trailing 0-length array" #108091

Merged
merged 1 commit into from
Sep 10, 2024

Conversation

mysterymath
Copy link
Contributor

Reverts #105865

This breaks a pair of LLDB tests in CI.

@mysterymath mysterymath marked this pull request as ready for review September 10, 2024 21:08
@mysterymath mysterymath requested a review from a team as a code owner September 10, 2024 21:08
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Sep 10, 2024
@mysterymath mysterymath merged commit d8a8eae into main Sep 10, 2024
12 of 13 checks passed
@mysterymath mysterymath deleted the revert-105865-feature/invalid-fam-libcxx branch September 10, 2024 21:08
@llvmbot
Copy link
Collaborator

llvmbot commented Sep 10, 2024

@llvm/pr-subscribers-libcxx

Author: Daniel Thornburgh (mysterymath)

Changes

Reverts llvm/llvm-project#105865

This breaks a pair of LLDB tests in CI.


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

1 Files Affected:

  • (modified) libcxx/include/string (+2-10)
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];
   };
 

VitaNuo pushed a commit to VitaNuo/llvm-project that referenced this pull request Sep 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants