[all-commits] [llvm/llvm-project] d5c830: [LLDB] Add formatters for MSVC STL std::deque (#15...

nerix via All-commits all-commits at lists.llvm.org
Wed Jul 23 08:20:10 PDT 2025


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

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
    A lldb/source/Plugins/Language/CPlusPlus/MsvcStlDeque.cpp
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/deque/TestDataFormatterGenericDeque.py

  Log Message:
  -----------
  [LLDB] Add formatters for MSVC STL std::deque (#150097)

This PR adds synthetic children for std::deque from MSVC's STL.

Similar to libstdc++ and libc++, the elements are in a `T**`, so we need
to "subscript" twice. The [NatVis for
deque](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/debugger/STL.natvis#L1103-L1112)
uses `_EEN_DS` which contains the block size. We can't access this, but
we can access the [constexpr
`_Block_size`](https://github.com/microsoft/STL/blob/313964b78a8fd5a52e7965e13781f735bcce13c5/stl/inc/deque#L641).

Towards #24834.



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