[all-commits] [llvm/llvm-project] a377cd: [lldb][TypeSystemClang] Add support for floating p...

Michael Buch via All-commits all-commits at lists.llvm.org
Mon Feb 17 14:04:14 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a377cdd23db180b881f54fc7f88bf3aa85de21cc
      https://github.com/llvm/llvm-project/commit/a377cdd23db180b881f54fc7f88bf3aa85de21cc
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-02-17 (Mon, 17 Feb 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/source/API/SBType.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
    M lldb/test/API/lang/cpp/template-arguments/main.cpp
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp

  Log Message:
  -----------
  [lldb][TypeSystemClang] Add support for floating point template argument constants (#127206)

This patch adds support for template arguments of
`clang::TemplateArgument::ArgKind::StructuralValue` kind (added in
https://github.com/llvm/llvm-project/pull/78041). These are used for
non-type template parameters such as floating point constants. When LLDB
created `clang::NonTypeTemplateParmDecl`s, it previously assumed
integral values, this patch accounts for structural values too.

Anywhere LLDB assumed a `DW_TAG_template_value_parameter` was
`Integral`, it will now also check for `StructuralValue`, and will
unpack the `TemplateArgument` value and type accordingly.

We can rely on the fact that any `TemplateArgument` of `StructuralValue`
kind that the `DWARFASTParserClang` creates will have a valid value,
because it gets those from `DW_AT_const_value`.



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