[llvm-branch-commits] [llvm] [Object][ELF] Pass Error to WarningHandler (PR #191707)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Apr 12 06:39:18 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 7857 tests passed
* 446 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>[code=1] tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ObjDumper.cpp.obj</summary>

```
FAILED: [code=1] tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ObjDumper.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\llvm-readobj -IC:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\llvm-readobj\CMakeFiles\llvm-readobj.dir\ObjDumper.cpp.obj /Fdtools\llvm-readobj\CMakeFiles\llvm-readobj.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ObjDumper.cpp
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ObjDumper.cpp(51,12): error: no matching function for call to object of type 'const std::function<Error (Error)>'
51 |   cantFail(WarningHandler(Msg),
|            ^~~~~~~~~~~~~~
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\functional(921,10): note: candidate function not viable: no known conversion from 'const Twine' to 'llvm::Error' for 1st argument
921 |     _Ret operator()(_Types... _Args) const {
|          ^          ~~~~~~~~~~~~~~~
1 error generated.
```
</details>
<details>
<summary>[code=1] tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ELFDumper.cpp.obj</summary>

```
FAILED: [code=1] tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ELFDumper.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DLLVM_BUILD_STATIC -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\tools\llvm-readobj -IC:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Fotools\llvm-readobj\CMakeFiles\llvm-readobj.dir\ELFDumper.cpp.obj /Fdtools\llvm-readobj\CMakeFiles\llvm-readobj.dir\ -c -- C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2031,54): error: no viable conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'WarningHandler' (aka 'llvm::function_ref<Error (Error)>')
2031 |     auto MappedAddrOrError = Obj.toMappedAddr(VAddr, [&](const Twine &Msg) {
|                                                      ^~~~~~~~~~~~~~~~~~~~~~~
2032 |       this->reportUniqueWarning(Msg);
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2033 |       return Error::success();
|       ~~~~~~~~~~~~~~~~~~~~~~~~
2034 |     });
|     ~
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2030,76): note: while substituting into a lambda expression here
2030 |   auto toMappedAddr = [&](uint64_t Tag, uint64_t VAddr) -> const uint8_t * {
|                                                                            ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(1906,7): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>::parseDynamicTable' requested here
1906 |       parseDynamicTable();
|       ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2026,3): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>::loadDynamicTable' requested here
2026 |   loadDynamicTable();
|   ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(623,9): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>::ELFDumper' requested here
623 |       : ELFDumper<ELFT>(ObjF, Writer),
|         ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\memory(3630,32): note: in instantiation of member function '(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>::GNUELFDumper' requested here
3630 |     return unique_ptr<_Ty>(new _Ty(_STD forward<_Types>(_Args)...));
|                                ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(857,17): note: in instantiation of function template specialization 'std::make_unique<(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>, const llvm::object::ELFObjectFile<llvm::object::ELFType<llvm::endianness::little, false>> &, llvm::ScopedPrinter &, 0>' requested here
857 |     return std::make_unique<GNUELFDumper<ELFT>>(Obj, Writer);
|                 ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(867,12): note: in instantiation of function template specialization 'llvm::createELFDumper<llvm::object::ELFType<llvm::endianness::little, false>>' requested here
867 |     return createELFDumper(*ELFObj, Writer);
|            ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'const function_ref<llvm::Error (llvm::Error)> &' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit move constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'function_ref<llvm::Error (llvm::Error)> &&' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(52,3): note: candidate constructor not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'std::nullptr_t' for 1st argument
52 |   function_ref(std::nullptr_t) {}
|   ^            ~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(55,3): note: candidate template ignored: substitution failure [with Callable = (lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)]: no matching function for call to object of type '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)'
55 |   function_ref(
|   ^
56 |       Callable &&callable LLVM_LIFETIME_BOUND,
57 |       // This is not the copy-constructor.
58 |       std::enable_if_t<!std::is_same<remove_cvref_t<Callable>,
59 |                                      function_ref>::value> * = nullptr,
60 |       // Functor must be callable and return a suitable type.
61 |       std::enable_if_t<std::is_void<Ret>::value ||
62 |                        std::is_convertible<decltype(std::declval<Callable>()(
|                                                     ~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Object/ELF.h(412,31): note: passing argument to parameter 'WarnHandler' here
412 |                WarningHandler WarnHandler = &defaultWarningHandler) const;
|                               ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2031,54): error: no viable conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'WarningHandler' (aka 'llvm::function_ref<Error (Error)>')
2031 |     auto MappedAddrOrError = Obj.toMappedAddr(VAddr, [&](const Twine &Msg) {
|                                                      ^~~~~~~~~~~~~~~~~~~~~~~
2032 |       this->reportUniqueWarning(Msg);
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2033 |       return Error::success();
|       ~~~~~~~~~~~~~~~~~~~~~~~~
2034 |     });
|     ~
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2030,76): note: while substituting into a lambda expression here
2030 |   auto toMappedAddr = [&](uint64_t Tag, uint64_t VAddr) -> const uint8_t * {
|                                                                            ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(1906,7): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>::parseDynamicTable' requested here
1906 |       parseDynamicTable();
|       ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2026,3): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>::loadDynamicTable' requested here
2026 |   loadDynamicTable();
|   ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(623,9): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>::ELFDumper' requested here
623 |       : ELFDumper<ELFT>(ObjF, Writer),
|         ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\memory(3630,32): note: in instantiation of member function '(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>::GNUELFDumper' requested here
3630 |     return unique_ptr<_Ty>(new _Ty(_STD forward<_Types>(_Args)...));
|                                ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(857,17): note: in instantiation of function template specialization 'std::make_unique<(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>, const llvm::object::ELFObjectFile<llvm::object::ELFType<llvm::endianness::big, false>> &, llvm::ScopedPrinter &, 0>' requested here
857 |     return std::make_unique<GNUELFDumper<ELFT>>(Obj, Writer);
|                 ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(871,12): note: in instantiation of function template specialization 'llvm::createELFDumper<llvm::object::ELFType<llvm::endianness::big, false>>' requested here
871 |     return createELFDumper(*ELFObj, Writer);
|            ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'const function_ref<llvm::Error (llvm::Error)> &' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit move constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'function_ref<llvm::Error (llvm::Error)> &&' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(52,3): note: candidate constructor not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'std::nullptr_t' for 1st argument
52 |   function_ref(std::nullptr_t) {}
|   ^            ~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(55,3): note: candidate template ignored: substitution failure [with Callable = (lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)]: no matching function for call to object of type '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)'
55 |   function_ref(
|   ^
56 |       Callable &&callable LLVM_LIFETIME_BOUND,
57 |       // This is not the copy-constructor.
58 |       std::enable_if_t<!std::is_same<remove_cvref_t<Callable>,
59 |                                      function_ref>::value> * = nullptr,
60 |       // Functor must be callable and return a suitable type.
61 |       std::enable_if_t<std::is_void<Ret>::value ||
62 |                        std::is_convertible<decltype(std::declval<Callable>()(
|                                                     ~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Object/ELF.h(412,31): note: passing argument to parameter 'WarnHandler' here
412 |                WarningHandler WarnHandler = &defaultWarningHandler) const;
|                               ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2031,54): error: no viable conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'WarningHandler' (aka 'llvm::function_ref<Error (Error)>')
2031 |     auto MappedAddrOrError = Obj.toMappedAddr(VAddr, [&](const Twine &Msg) {
|                                                      ^~~~~~~~~~~~~~~~~~~~~~~
2032 |       this->reportUniqueWarning(Msg);
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2033 |       return Error::success();
|       ~~~~~~~~~~~~~~~~~~~~~~~~
2034 |     });
|     ~
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2030,76): note: while substituting into a lambda expression here
2030 |   auto toMappedAddr = [&](uint64_t Tag, uint64_t VAddr) -> const uint8_t * {
|                                                                            ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(1906,7): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>::parseDynamicTable' requested here
1906 |       parseDynamicTable();
|       ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2026,3): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>::loadDynamicTable' requested here
2026 |   loadDynamicTable();
|   ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(623,9): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>::ELFDumper' requested here
623 |       : ELFDumper<ELFT>(ObjF, Writer),
|         ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\memory(3630,32): note: in instantiation of member function '(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>::GNUELFDumper' requested here
3630 |     return unique_ptr<_Ty>(new _Ty(_STD forward<_Types>(_Args)...));
|                                ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(857,17): note: in instantiation of function template specialization 'std::make_unique<(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>, const llvm::object::ELFObjectFile<llvm::object::ELFType<llvm::endianness::little, true>> &, llvm::ScopedPrinter &, 0>' requested here
857 |     return std::make_unique<GNUELFDumper<ELFT>>(Obj, Writer);
|                 ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(875,12): note: in instantiation of function template specialization 'llvm::createELFDumper<llvm::object::ELFType<llvm::endianness::little, true>>' requested here
875 |     return createELFDumper(*ELFObj, Writer);
|            ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'const function_ref<llvm::Error (llvm::Error)> &' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit move constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'function_ref<llvm::Error (llvm::Error)> &&' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(52,3): note: candidate constructor not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'std::nullptr_t' for 1st argument
52 |   function_ref(std::nullptr_t) {}
|   ^            ~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(55,3): note: candidate template ignored: substitution failure [with Callable = (lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)]: no matching function for call to object of type '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)'
55 |   function_ref(
|   ^
56 |       Callable &&callable LLVM_LIFETIME_BOUND,
57 |       // This is not the copy-constructor.
58 |       std::enable_if_t<!std::is_same<remove_cvref_t<Callable>,
59 |                                      function_ref>::value> * = nullptr,
60 |       // Functor must be callable and return a suitable type.
61 |       std::enable_if_t<std::is_void<Ret>::value ||
62 |                        std::is_convertible<decltype(std::declval<Callable>()(
|                                                     ~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Object/ELF.h(412,31): note: passing argument to parameter 'WarnHandler' here
412 |                WarningHandler WarnHandler = &defaultWarningHandler) const;
|                               ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2031,54): error: no viable conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'WarningHandler' (aka 'llvm::function_ref<Error (Error)>')
2031 |     auto MappedAddrOrError = Obj.toMappedAddr(VAddr, [&](const Twine &Msg) {
|                                                      ^~~~~~~~~~~~~~~~~~~~~~~
2032 |       this->reportUniqueWarning(Msg);
|       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2033 |       return Error::success();
|       ~~~~~~~~~~~~~~~~~~~~~~~~
2034 |     });
|     ~
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2030,76): note: while substituting into a lambda expression here
2030 |   auto toMappedAddr = [&](uint64_t Tag, uint64_t VAddr) -> const uint8_t * {
|                                                                            ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(1906,7): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>::parseDynamicTable' requested here
1906 |       parseDynamicTable();
|       ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(2026,3): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>::loadDynamicTable' requested here
2026 |   loadDynamicTable();
|   ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(623,9): note: in instantiation of member function '(anonymous namespace)::ELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>::ELFDumper' requested here
623 |       : ELFDumper<ELFT>(ObjF, Writer),
|         ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\memory(3630,32): note: in instantiation of member function '(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>::GNUELFDumper' requested here
3630 |     return unique_ptr<_Ty>(new _Ty(_STD forward<_Types>(_Args)...));
|                                ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(857,17): note: in instantiation of function template specialization 'std::make_unique<(anonymous namespace)::GNUELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>, const llvm::object::ELFObjectFile<llvm::object::ELFType<llvm::endianness::big, true>> &, llvm::ScopedPrinter &, 0>' requested here
857 |     return std::make_unique<GNUELFDumper<ELFT>>(Obj, Writer);
|                 ^
C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp(878,10): note: in instantiation of function template specialization 'llvm::createELFDumper<llvm::object::ELFType<llvm::endianness::big, true>>' requested here
878 |   return createELFDumper(*cast<ELF64BEObjectFile>(&Obj), Writer);
|          ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'const function_ref<llvm::Error (llvm::Error)> &' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(40,24): note: candidate constructor (the implicit move constructor) not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'function_ref<llvm::Error (llvm::Error)> &&' for 1st argument
40 | class LLVM_GSL_POINTER function_ref<Ret(Params...)> {
|                        ^~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(52,3): note: candidate constructor not viable: no known conversion from '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)' to 'std::nullptr_t' for 1st argument
52 |   function_ref(std::nullptr_t) {}
|   ^            ~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLFunctionalExtras.h(55,3): note: candidate template ignored: substitution failure [with Callable = (lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)]: no matching function for call to object of type '(lambda at C:\_work\llvm-project\llvm-project\llvm\tools\llvm-readobj\ELFDumper.cpp:2031:54)'
55 |   function_ref(
|   ^
56 |       Callable &&callable LLVM_LIFETIME_BOUND,
57 |       // This is not the copy-constructor.
58 |       std::enable_if_t<!std::is_same<remove_cvref_t<Callable>,
59 |                                      function_ref>::value> * = nullptr,
60 |       // Functor must be callable and return a suitable type.
61 |       std::enable_if_t<std::is_void<Ret>::value ||
62 |                        std::is_convertible<decltype(std::declval<Callable>()(
|                                                     ~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Object/ELF.h(412,31): note: passing argument to parameter 'WarnHandler' here
412 |                WarningHandler WarnHandler = &defaultWarningHandler) const;
|                               ^
4 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the llvm-branch-commits mailing list