aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Buch <michaelbuch12@gmail.com>2024-10-03 14:57:40 +0100
committerGitHub <noreply@github.com>2024-10-03 14:57:40 +0100
commit3983d73e32a793b42a3955a34a0662daafa1355f (patch)
treed9a31876cb9cae3a9b05f932454e55aa3b1f3d60
parent8e049fa327111ac6b6904638366528f7e07a8462 (diff)
downloadllvm-revert-108375-lldb/simulate-new-string-padding-layout.zip
llvm-revert-108375-lldb/simulate-new-string-padding-layout.tar.gz
llvm-revert-108375-lldb/simulate-new-string-padding-layout.tar.bz2
Revert "[lldb][test] TestDataFormatterLibcxxStringSimulator.py: add new paddi…"revert-108375-lldb/simulate-new-string-padding-layout
This reverts commit d5f6e886ff0df8265d44ab0646afcb4a06e6475a.
-rw-r--r--lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py2
-rw-r--r--lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp34
2 files changed, 7 insertions, 29 deletions
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
index fff1814..afe6374 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/TestDataFormatterLibcxxStringSimulator.py
@@ -27,7 +27,7 @@ class LibcxxStringDataFormatterSimulatorTestCase(TestBase):
for v in [None, "ALTERNATE_LAYOUT"]:
- for r in range(6):
+ for r in range(5):
for c in range(3):
name = "test_r%d_c%d" % (r, c)
defines = ["REVISION=%d" % r, "COMPRESSED_PAIR_REV=%d" % c]
diff --git a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
index 628d32c..f8fc13c 100644
--- a/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
+++ b/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/string/main.cpp
@@ -20,11 +20,7 @@
// Pre-D128285 layout.
#define PACKED_ANON_STRUCT
#endif
-#if REVISION <= 4
-// Pre-2a1ef74 layout.
-#define NON_STANDARD_PADDING
-#endif
-// REVISION == 5: current layout
+// REVISION == 4: current layout
#ifdef PACKED_ANON_STRUCT
#define BEGIN_PACKED_ANON_STRUCT struct __attribute__((packed)) {
@@ -38,7 +34,6 @@
namespace std {
namespace __lldb {
-#ifdef NON_STANDARD_PADDING
#if defined(ALTERNATE_LAYOUT) && defined(SUBCLASS_PADDING)
template <class _CharT, size_t = sizeof(_CharT)> struct __padding {
unsigned char __xx[sizeof(_CharT) - 1];
@@ -46,13 +41,6 @@ template <class _CharT, size_t = sizeof(_CharT)> struct __padding {
template <class _CharT> struct __padding<_CharT, 1> {};
#endif
-#else // !NON_STANDARD_PADDING
-template <size_t _PaddingSize> struct __padding {
- char __padding_[_PaddingSize];
-};
-
-template <> struct __padding<0> {};
-#endif
template <class _CharT, class _Traits, class _Allocator> class basic_string {
public:
@@ -89,12 +77,7 @@ public:
};
#else // !SUBCLASS_PADDING
-#ifdef NON_STANDARD_PADDING
unsigned char __padding[sizeof(value_type) - 1];
-#else
- [[no_unique_address]] __padding<sizeof(value_type) - 1> __padding_;
-#endif
-
#ifdef BITMASKS
unsigned char __size_;
#else // !BITMASKS
@@ -146,26 +129,21 @@ public:
union {
#ifdef BITMASKS
unsigned char __size_;
-#else // !BITMASKS
+#else
struct {
unsigned char __is_long_ : 1;
unsigned char __size_ : 7;
};
-#endif // BITMASKS
+#endif
value_type __lx;
};
-#else // !SHORT_UNION
+#else
BEGIN_PACKED_ANON_STRUCT
unsigned char __is_long_ : 1;
unsigned char __size_ : 7;
END_PACKED_ANON_STRUCT
-#ifdef NON_STANDARD_PADDING
- unsigned char __padding[sizeof(value_type) - 1];
-#else // !NON_STANDARD_PADDING
- [[no_unique_address]] __padding<sizeof(value_type) - 1> __padding_;
-#endif // NON_STANDARD_PADDING
-
-#endif // SHORT_UNION
+ char __padding_[sizeof(value_type) - 1];
+#endif
value_type __data_[__min_cap];
};