[all-commits] [llvm/llvm-project] 45689b: [LLDB] Add type summaries for MSVC STL strings (#1...

nerix via All-commits all-commits at lists.llvm.org
Tue Jul 8 01:55:39 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 45689b26eb4bfa619127013dccea8efd8de4d21a
      https://github.com/llvm/llvm-project/commit/45689b26eb4bfa619127013dccea8efd8de4d21a
  Author: nerix <nerixdev at outlook.de>
  Date:   2025-07-08 (Tue, 08 Jul 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/test_categories.py
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    A lldb/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
    A lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
    M lldb/test/API/functionalities/data-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/TestDataFormatterMsvcStlString.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/string/main.cpp
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/TestDataFormatterMsvcStlU8String.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/msvcstl/u8string/main.cpp
    M lldb/test/API/functionalities/data-formatter/stringprinter/TestStringPrinter.py
    M lldb/test/API/python_api/sbvalue_persist/TestSBValuePersist.py

  Log Message:
  -----------
  [LLDB] Add type summaries for MSVC STL strings (#143177)

This PR adds type summaries for
`std::{string,wstring,u8string,u16string,u32string}` from the MSVC STL.

See https://github.com/llvm/llvm-project/issues/24834 for the MSVC STL
issue.

The following changes were made:

- `dotest.py` now detects if the MSVC STL is available. It does so by
looking at the target triple, which is an additional argument passed
from Lit. It specifically checks for `windows-msvc` to not match on
`windows-gnu` (i.e. MinGW/Cygwin).
- (The main part): Added support for summarizing `std::(w)string` from
MSVC's STL. Because the type names from the libstdc++ (pre C++ 11)
string types are the same as on MSVC's STL, `CXXCompositeSummaryFormat`
is used with two entries, one for MSVC's STL and one for libstdc++.
With MSVC's STL, `std::u{8,16,32}string` is also handled. These aren't
handled for libstdc++, so I put them in `LoadMsvcStlFormatters`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list