[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