[llvm] [llvm-dwarfdump][LineCov 1/3] Add variable coverage metrics (PR #169646)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 16 08:55:58 PST 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-s390x-linux-lnt` running on `systemz-1` while building `llvm` at step 6 "build stage 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/136/builds/6469

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (build stage 1) failure: 'ninja -j4' (failure)
...
[5909/6326] Building CXX object tools/llvm-dlang-demangle-fuzzer/CMakeFiles/llvm-dlang-demangle-fuzzer.dir/DummyDemanglerFuzzer.cpp.o
[5910/6326] Building CXX object tools/llvm-dlang-demangle-fuzzer/CMakeFiles/llvm-dlang-demangle-fuzzer.dir/llvm-dlang-demangle-fuzzer.cpp.o
[5911/6326] Linking CXX executable bin/llvm-dis
[5912/6326] Linking CXX executable bin/llvm-dlang-demangle-fuzzer
[5913/6326] Building CXX object tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/SectionSizes.cpp.o
[5914/6326] Linking CXX executable bin/llc
[5915/6326] Linking CXX executable bin/c-index-test
[5916/6326] Building CXX object tools/llvm-exegesis/lib/CMakeFiles/LLVMExegesis.dir/Assembler.cpp.o
[5917/6326] Building Options.inc...
[5918/6326] Building CXX object tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/Coverage.cpp.o
FAILED: tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/Coverage.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/c++ -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/tools/llvm-dwarfdump -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/stage1/include -I/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/Coverage.cpp.o -MF tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/Coverage.cpp.o.d -o tools/llvm-dwarfdump/CMakeFiles/llvm-dwarfdump.dir/Coverage.cpp.o -c /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp: In function ‘llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > computeVariableCoverage(llvm::DWARFContext&, llvm::DWARFDie, const llvm::DWARFDebugLine::LineTable*)’:
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp:69:22: error: ambiguous overload for ‘operator=’ (operand types are ‘std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >’ and ‘<brace-enclosed initializer list>’)
   69 |           Lines = {{}};
      |                      ^
In file included from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/DenseMapInfo.h:21,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/DenseMap.h:18,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/MapVector.h:20,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h:12,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp:9:
/usr/include/c++/11/optional:803:9: note: candidate: ‘std::enable_if_t<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Up>::type>::type> >, std::__not_<std::__and_<std::is_scalar<_Tp>, std::is_same<_Tp, typename std::decay<_Up>::type> > >, std::is_constructible<_Tp, _Up>, std::is_assignable<_Tp&, _Up> >, std::optional<_Tp>&> std::optional<_Tp>::operator=(_Up&&) [with _Up = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; _Tp = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; std::enable_if_t<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Up>::type>::type> >, std::__not_<std::__and_<std::is_scalar<_Tp>, std::is_same<_Tp, typename std::decay<_Up>::type> > >, std::is_constructible<_Tp, _Up>, std::is_assignable<_Tp&, _Up> >, std::optional<_Tp>&> = std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&; typename std::decay<_Up>::type = std::decay<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::type; typename std::remove_cv<typename std::remove_reference<_Up>::type>::type = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; typename std::remove_reference<_Up>::type = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >]’
  803 |         operator=(_Up&& __u)
      |         ^~~~~~~~
/usr/include/c++/11/optional:789:7: note: candidate: ‘std::optional<_Tp>& std::optional<_Tp>::operator=(std::nullopt_t) [with _Tp = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >]’
  789 |       operator=(nullopt_t) noexcept
      |       ^~~~~~~~
/usr/include/c++/11/optional:662:11: note: candidate: ‘constexpr std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >& std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::operator=(const std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&)’
  662 |     class optional
      |           ^~~~~~~~
/usr/include/c++/11/optional:662:11: note: candidate: ‘constexpr std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >& std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::operator=(std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&&)’
/home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp:85:22: error: ambiguous overload for ‘operator=’ (operand types are ‘std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >’ and ‘<brace-enclosed initializer list>’)
   85 |     ParentLines = {{}};
      |                      ^
In file included from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/DenseMapInfo.h:21,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/DenseMap.h:18,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/include/llvm/ADT/MapVector.h:20,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.h:12,
                 from /home/uweigand/sandbox/buildbot/clang-s390x-linux-lnt/llvm/llvm/tools/llvm-dwarfdump/Coverage.cpp:9:
/usr/include/c++/11/optional:803:9: note: candidate: ‘std::enable_if_t<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Up>::type>::type> >, std::__not_<std::__and_<std::is_scalar<_Tp>, std::is_same<_Tp, typename std::decay<_Up>::type> > >, std::is_constructible<_Tp, _Up>, std::is_assignable<_Tp&, _Up> >, std::optional<_Tp>&> std::optional<_Tp>::operator=(_Up&&) [with _Up = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; _Tp = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; std::enable_if_t<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Up>::type>::type> >, std::__not_<std::__and_<std::is_scalar<_Tp>, std::is_same<_Tp, typename std::decay<_Up>::type> > >, std::is_constructible<_Tp, _Up>, std::is_assignable<_Tp&, _Up> >, std::optional<_Tp>&> = std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&; typename std::decay<_Up>::type = std::decay<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::type; typename std::remove_cv<typename std::remove_reference<_Up>::type>::type = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >; typename std::remove_reference<_Up>::type = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >]’
  803 |         operator=(_Up&& __u)
      |         ^~~~~~~~
/usr/include/c++/11/optional:789:7: note: candidate: ‘std::optional<_Tp>& std::optional<_Tp>::operator=(std::nullopt_t) [with _Tp = llvm::DenseSet<std::pair<short unsigned int, long unsigned int> >]’
  789 |       operator=(nullopt_t) noexcept
      |       ^~~~~~~~
/usr/include/c++/11/optional:662:11: note: candidate: ‘constexpr std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >& std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::operator=(const std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&)’
  662 |     class optional
      |           ^~~~~~~~
/usr/include/c++/11/optional:662:11: note: candidate: ‘constexpr std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >& std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >::operator=(std::optional<llvm::DenseSet<std::pair<short unsigned int, long unsigned int> > >&&)’

```

</details>

https://github.com/llvm/llvm-project/pull/169646


More information about the llvm-commits mailing list