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 3e5c493692c4f..98d2c7320003e 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 @@ -22,6 +22,9 @@ def _run_test(self, defines): self.expect_var_path("shortstring", summary='"short"') self.expect_var_path("longstring", summary='"I am a very long string"') + self.expect_expr("shortstring", result_summary='"short"') + self.expect_expr("longstring", result_summary='"I am a very long string"') + for v in [None, "ALTERNATE_LAYOUT"]: for r in range(5): 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 7beeb9c39de49..b010dc25f8f80 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 @@ -71,19 +71,20 @@ template class basic_string { struct __short { value_type __data_[__min_cap]; -#ifdef BITMASKS #ifdef SUBCLASS_PADDING struct : __padding { unsigned char __size_; }; -#else +#else // !SUBCLASS_PADDING + unsigned char __padding[sizeof(value_type) - 1]; +#ifdef BITMASKS unsigned char __size_; -#endif #else // !BITMASKS unsigned char __size_ : 7; unsigned char __is_long_ : 1; -#endif +#endif // BITMASKS +#endif // SUBCLASS_PADDING }; #ifdef BITMASKS