[all-commits] [llvm/llvm-project] 383b32: [llvm-debuginfo-analyzer] Fix ODR violation in llv...

Javier Lopez-Gomez via All-commits all-commits at lists.llvm.org
Mon Jun 16 01:47:22 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 383b3268794da1ca763deb91cec777742e6e54a8
      https://github.com/llvm/llvm-project/commit/383b3268794da1ca763deb91cec777742e6e54a8
  Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
  Date:   2025-06-16 (Mon, 16 Jun 2025)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
    M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
    M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
    M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp

  Log Message:
  -----------
  [llvm-debuginfo-analyzer] Fix ODR violation in llvm::logicalview::LVObject (#140265)

Some data members are only part of a class definition in a Debug build,
e.g. `LVObject::ID`. If `debuginfologicalview` is used as a library,
`NDEBUG` cannot be used for this purpose, as this PP macro may have a
different definition in a downstream project, which in turn triggers an
ODR violation. Fix it by
- Making `LVObject::ID` an unconditional data member.
- Making `LVObject::dump()` non-virtual. Rationale: `virtual` is not
needed (and it calls `print()`, which is virtual anyway).

Fixes #139098.



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