[Lldb-commits] [lldb] [lldb] Implement a formatter bytecode interpreter in C++ (PR #114333)

Aaron Puchert via lldb-commits lldb-commits at lists.llvm.org
Tue Dec 10 11:19:41 PST 2024


aaronpuchert wrote:

Looks like this caused build errors, e.g. https://lab.llvm.org/buildbot/#/changes/20131:
```
FAILED: tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/Target.cpp.o
[...]
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/Target/Target.cpp:27:10: fatal error: lldb/Core/ValueObject.h: No such file or directory
   27 | #include "lldb/Core/ValueObject.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~
```
and https://lab.llvm.org/buildbot/#/builders/181/builds/10112:
```
FAILED: tools/lldb/source/DataFormatters/CMakeFiles/lldbDataFormatters.dir/FormatterBytecode.cpp.o 
[...]
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp: In function ‘llvm::Error lldb_private::FormatterBytecode::Interpret(std::vector<llvm::StringRef>&, lldb_private::FormatterBytecode::DataStack&, lldb_private::FormatterBytecode::Selectors)’:
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:342:43: error: cannot convert ‘long long unsigned int’ to ‘lldb_private::FormatterBytecode::DataStackElement’ {aka ‘std::variant<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, long unsigned int, long int, std::shared_ptr<lldb_private::ValueObject>, lldb_private::CompilerType, lldb_private::FormatterBytecode::Selectors>’}
  342 |       data.Push(data.Pop<ValueObjectSP>() ? 0ULL : 1ULL);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
      |                                           |
      |                                           long long unsigned int
In file included from /home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:9:
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.h:44:30: note:   initializing argument 1 of ‘void lldb_private::FormatterBytecode::DataStack::Push(lldb_private::FormatterBytecode::DataStackElement)’
   44 |   void Push(DataStackElement el) { push_back(el); }
      |             ~~~~~~~~~~~~~~~~~^~
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:395:13: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  395 |       if (y < 0)                                                               \
      |           ~~^~~
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:401:7: note: in expansion of macro ‘SHIFTOP’
  401 |       SHIFTOP(<<);
      |       ^~~~~~~
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:395:13: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits]
  395 |       if (y < 0)                                                               \
      |           ~~^~~
/home/buildbot/buildbot-root/cross-project-tests-sie-ubuntu/llvm-project/lldb/source/DataFormatters/FormatterBytecode.cpp:404:7: note: in expansion of macro ‘SHIFTOP’
  404 |       SHIFTOP(<<);
      |       ^~~~~~~
```

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


More information about the lldb-commits mailing list