[Lldb-commits] [PATCH] D134033: [lldb/Plugins] Improve error reporting when reading memory in Scripted Process

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sat Nov 19 07:00:29 PST 2022


mgorny added a comment.

LLDB no longer builds for me after this change (could be related to swig 4.1.0):

  [1/5] Building CXX object tools/lldb/source/Plugins/ScriptInterpre...ldbPluginScriptInterpreterPython.dir/ScriptedPythonInterface.cpp.o
  FAILED: tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedPythonInterface.cpp.o 
  CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -DLLDB_PYTHON_EXE_RELATIVE_PATH=\"bin/python3.10\" -DLLDB_PYTHON_RELATIVE_LIBDIR=\"lib/python3.10/site-packages\" -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/mgorny/git/llvm-project/build/tools/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/include -I/home/mgorny/git/llvm-project/build/tools/lldb/include -I/home/mgorny/git/llvm-project/build/include -I/home/mgorny/git/llvm-project/llvm/include -I/usr/include/python3.10 -I/home/mgorny/git/llvm-project/llvm/../clang/include -I/home/mgorny/git/llvm-project/build/tools/lldb/../clang/include -I/home/mgorny/git/llvm-project/lldb/source -I/home/mgorny/git/llvm-project/build/tools/lldb/source -isystem /usr/include/libxml2 -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-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -Os -DNDEBUG  -fno-exceptions -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedPythonInterface.cpp.o -MF tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedPythonInterface.cpp.o.d -o tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedPythonInterface.cpp.o -c /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp:20:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    113 |   template <> struct transformation<Status> {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:22: error: too few template-parameter-lists
    113 |   template <> struct transformation<Status> {
        |                      ^~~~~~~~~~~~~~~~~~~~~~
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:129:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    129 |   template <> typename transformation<Status>::type Transform(Status arg) {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h: In member function ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type lldb_private::ScriptedPythonInterface::Transform(lldb_private::Status)’:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:131:33: error: could not convert ‘lldb_private::python::ToSWIGWrapper(const lldb_private::Status&)()’ from ‘lldb_private::python::PythonObject’ to ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type’ {aka ‘lldb_private::Status’}
    131 |     return python::ToSWIGWrapper(arg);
        |            ~~~~~~~~~~~~~~~~~~~~~^~~~~
        |                                 |
        |                                 lldb_private::python::PythonObject
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp:16:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h: At global scope:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
     16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
        |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
  [2/5] Building CXX object tools/lldb/source/Plugins/ScriptInterpre...ginScriptInterpreterPython.dir/ScriptedThreadPythonInterface.cpp.o
  FAILED: tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedThreadPythonInterface.cpp.o 
  CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -DLLDB_PYTHON_EXE_RELATIVE_PATH=\"bin/python3.10\" -DLLDB_PYTHON_RELATIVE_LIBDIR=\"lib/python3.10/site-packages\" -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/mgorny/git/llvm-project/build/tools/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/include -I/home/mgorny/git/llvm-project/build/tools/lldb/include -I/home/mgorny/git/llvm-project/build/include -I/home/mgorny/git/llvm-project/llvm/include -I/usr/include/python3.10 -I/home/mgorny/git/llvm-project/llvm/../clang/include -I/home/mgorny/git/llvm-project/build/tools/lldb/../clang/include -I/home/mgorny/git/llvm-project/lldb/source -I/home/mgorny/git/llvm-project/build/tools/lldb/source -isystem /usr/include/libxml2 -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-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -Os -DNDEBUG  -fno-exceptions -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedThreadPythonInterface.cpp.o -MF tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedThreadPythonInterface.cpp.o.d -o tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedThreadPythonInterface.cpp.o -c /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h:16,
                   from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp:20:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    113 |   template <> struct transformation<Status> {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:22: error: too few template-parameter-lists
    113 |   template <> struct transformation<Status> {
        |                      ^~~~~~~~~~~~~~~~~~~~~~
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:129:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    129 |   template <> typename transformation<Status>::type Transform(Status arg) {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h: In member function ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type lldb_private::ScriptedPythonInterface::Transform(lldb_private::Status)’:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:131:33: error: could not convert ‘lldb_private::python::ToSWIGWrapper(const lldb_private::Status&)()’ from ‘lldb_private::python::PythonObject’ to ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type’ {aka ‘lldb_private::Status’}
    131 |     return python::ToSWIGWrapper(arg);
        |            ~~~~~~~~~~~~~~~~~~~~~^~~~~
        |                                 |
        |                                 lldb_private::python::PythonObject
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp:16:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h: At global scope:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
     16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
        |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
  [3/5] Building CXX object tools/lldb/source/Plugins/ScriptInterpre...inScriptInterpreterPython.dir/ScriptedProcessPythonInterface.cpp.o
  FAILED: tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedProcessPythonInterface.cpp.o 
  CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -DLLDB_PYTHON_EXE_RELATIVE_PATH=\"bin/python3.10\" -DLLDB_PYTHON_RELATIVE_LIBDIR=\"lib/python3.10/site-packages\" -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/mgorny/git/llvm-project/build/tools/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/include -I/home/mgorny/git/llvm-project/build/tools/lldb/include -I/home/mgorny/git/llvm-project/build/include -I/home/mgorny/git/llvm-project/llvm/include -I/usr/include/python3.10 -I/home/mgorny/git/llvm-project/llvm/../clang/include -I/home/mgorny/git/llvm-project/build/tools/lldb/../clang/include -I/home/mgorny/git/llvm-project/lldb/source -I/home/mgorny/git/llvm-project/build/tools/lldb/source -isystem /usr/include/libxml2 -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-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -Os -DNDEBUG  -fno-exceptions -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedProcessPythonInterface.cpp.o -MF tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedProcessPythonInterface.cpp.o.d -o tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptedProcessPythonInterface.cpp.o -c /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h:16,
                   from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp:21:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    113 |   template <> struct transformation<Status> {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:22: error: too few template-parameter-lists
    113 |   template <> struct transformation<Status> {
        |                      ^~~~~~~~~~~~~~~~~~~~~~
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:129:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    129 |   template <> typename transformation<Status>::type Transform(Status arg) {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h: In member function ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type lldb_private::ScriptedPythonInterface::Transform(lldb_private::Status)’:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:131:33: error: could not convert ‘lldb_private::python::ToSWIGWrapper(const lldb_private::Status&)()’ from ‘lldb_private::python::PythonObject’ to ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type’ {aka ‘lldb_private::Status’}
    131 |     return python::ToSWIGWrapper(arg);
        |            ~~~~~~~~~~~~~~~~~~~~~^~~~~
        |                                 |
        |                                 lldb_private::python::PythonObject
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h:21,
                   from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp:19:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h: In instantiation of ‘llvm::Expected<lldb_private::python::PythonObject> lldb_private::python::PythonObject::CallMethod(const char*, const T& ...) const [with T = {long unsigned int, long unsigned int, lldb_private::Status}]’:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:72:34:   required from ‘lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)> [with auto:32 = {long unsigned int&, long unsigned int&, lldb_private::Status&}]’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/type_traits:2565:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>; _Args = {long unsigned int&, long unsigned int&, lldb_private::Status&}]’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/type_traits:2576:55:   required from ‘struct std::__result_of_impl<false, false, lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&>’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/type_traits:167:12:   recursively required by substitution of ‘template<class _Result, class _Ret> struct std::__is_invocable_impl<_Result, _Ret, true, std::__void_t<typename _CTp::type> > [with _Result = std::__invoke_result<lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&>; _Ret = void]’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/type_traits:167:12:   required from ‘struct std::__and_<std::__is_invocable_impl<std::__invoke_result<lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&>, void, true, void>, std::__call_is_nothrow<std::__invoke_result<lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&>, lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&> >’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/type_traits:3064:12:   required from ‘struct std::is_nothrow_invocable<lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, long unsigned int&, long unsigned int&, lldb_private::Status&>’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/tuple:1836:31:   required from ‘constexpr const bool std::__unpack_std_tuple<template<class _Fn, class ... _ArgTypes> struct std::is_nothrow_invocable, lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>, std::tuple<long unsigned int, long unsigned int, lldb_private::Status>&>’
  /usr/lib/gcc/x86_64-pc-linux-gnu/12/include/g++-v12/tuple:1859:14:   required from ‘constexpr decltype(auto) std::apply(_Fn&&, _Tuple&&) [with _Fn = lldb_private::ScriptedPythonInterface::Dispatch<std::shared_ptr<lldb_private::DataExtractor>, long unsigned int&, long unsigned int&, lldb_private::Status&>(llvm::StringRef, lldb_private::Status&, long unsigned int&, long unsigned int&, lldb_private::Status&)::<lambda(auto:32&& ...)>; _Tuple = tuple<long unsigned int, long unsigned int, lldb_private::Status>&]’
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:69:15:   required from ‘T lldb_private::ScriptedPythonInterface::Dispatch(llvm::StringRef, lldb_private::Status&, Args&& ...) [with T = std::shared_ptr<lldb_private::DataExtractor>; Args = {long unsigned int&, long unsigned int&, lldb_private::Status&}]’
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp:125:66:   required from here
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h:317:50: error: incomplete type ‘lldb_private::python::PythonFormat<lldb_private::Status, void>’ used in nested name specifier
    317 |     const char format[] = {'(', PythonFormat<T>::format..., ')', 0};
        |                                                  ^~~~~~
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h:320:73: error: incomplete type ‘lldb_private::python::PythonFormat<lldb_private::Status, void>’ used in nested name specifier
    320 |                             py2_const_cast(format), PythonFormat<T>::get(t)...);
        |                                                     ~~~~~~~~~~~~~~~~~~~~^~~
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp:17:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h: At global scope:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
     16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
        |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
  [4/5] Building CXX object tools/lldb/source/Plugins/ScriptInterpre...ldbPluginScriptInterpreterPython.dir/ScriptInterpreterPython.cpp.o
  FAILED: tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptInterpreterPython.cpp.o 
  CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -DHAVE_ROUND -DLLDB_PYTHON_EXE_RELATIVE_PATH=\"bin/python3.10\" -DLLDB_PYTHON_RELATIVE_LIBDIR=\"lib/python3.10/site-packages\" -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/mgorny/git/llvm-project/build/tools/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python -I/home/mgorny/git/llvm-project/lldb/include -I/home/mgorny/git/llvm-project/build/tools/lldb/include -I/home/mgorny/git/llvm-project/build/include -I/home/mgorny/git/llvm-project/llvm/include -I/usr/include/python3.10 -I/home/mgorny/git/llvm-project/llvm/../clang/include -I/home/mgorny/git/llvm-project/build/tools/lldb/../clang/include -I/home/mgorny/git/llvm-project/lldb/source -I/home/mgorny/git/llvm-project/build/tools/lldb/source -isystem /usr/include/libxml2 -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-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-declarations -Wno-unknown-pragmas -Wno-strict-aliasing -Wno-stringop-truncation -Os -DNDEBUG  -fno-exceptions -fno-rtti -UNDEBUG -std=c++17 -MD -MT tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptInterpreterPython.cpp.o -MF tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptInterpreterPython.cpp.o.d -o tools/lldb/source/Plugins/ScriptInterpreter/Python/CMakeFiles/lldbPluginScriptInterpreterPython.dir/ScriptInterpreterPython.cpp.o -c /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h:16,
                   from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp:21:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    113 |   template <> struct transformation<Status> {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:113:22: error: too few template-parameter-lists
    113 |   template <> struct transformation<Status> {
        |                      ^~~~~~~~~~~~~~~~~~~~~~
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:129:13: error: explicit specialization in non-namespace scope ‘class lldb_private::ScriptedPythonInterface’
    129 |   template <> typename transformation<Status>::type Transform(Status arg) {
        |             ^
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h: In member function ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type lldb_private::ScriptedPythonInterface::Transform(lldb_private::Status)’:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h:131:33: error: could not convert ‘lldb_private::python::ToSWIGWrapper(const lldb_private::Status&)()’ from ‘lldb_private::python::PythonObject’ to ‘lldb_private::ScriptedPythonInterface::transformation<lldb_private::Status>::type’ {aka ‘lldb_private::Status’}
    131 |     return python::ToSWIGWrapper(arg);
        |            ~~~~~~~~~~~~~~~~~~~~~^~~~~
        |                                 |
        |                                 lldb_private::python::PythonObject
  In file included from /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp:15:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h: At global scope:
  /home/mgorny/git/llvm-project/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
     16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
        |                              ^~~~~~~~~~~~~~~~~~~~~~~~~
  ninja: build stopped: cannot make progress due to previous errors.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D134033/new/

https://reviews.llvm.org/D134033



More information about the lldb-commits mailing list