[Lldb-commits] [lldb] [lldb] Start using formatv() in RegisterContextUnwind (NFCI) (PR #191576)
David Spickett via lldb-commits
lldb-commits at lists.llvm.org
Mon Apr 13 08:49:06 PDT 2026
================
@@ -60,6 +60,16 @@ static bool CallFrameAddressIsValid(ABISP abi_sp, lldb::addr_t cfa) {
return cfa != 0 && cfa != 1;
}
+#define UNWIND_LOG(log, ...) \
+ LLDB_LOG(log, "{0}th{1}/fr{2} {3}", \
+ llvm::indent(std::min(m_frame_number, 100U)), \
+ m_thread.GetIndexID(), m_frame_number, llvm::formatv(__VA_ARGS__))
+
+#define UNWIND_LOG_VERBOSE(log, ...) \
+ LLDB_LOG_VERBOSE( \
+ log, "{0}th{1}/fr{2} {3}", llvm::indent(std::min(m_frame_number, 100U)), \
+ m_thread.GetIndexID(), m_frame_number, llvm::formatv(__VA_ARGS__))
----------------
DavidSpickett wrote:
Ideally we would only write the suffix format and its arguments once.
Untested possible solution to that:
```
#define UNWIND_LOG_IMPL(LOG_FN, log, ...) \
LOG_FN(log, "{0}th{1}/fr{2} {3}", \
llvm::indent(std::min(m_frame_number, 100U)), \
m_thread.GetIndexID(), m_frame_number, \
llvm::formatv(__VA_ARGS__))
#define UNWIND_LOG(log, ...) \
UNWIND_LOG_IMPL(LLDB_LOG, log, __VA_ARGS__)
#define UNWIND_LOG_VERBOSE(log, ...) \
UNWIND_LOG_IMPL(LLDB_LOG_VERBOSE, log, __VA_ARGS__)
```
If not, they are right next to each other, so it's not a big deal if we write it twice.
https://github.com/llvm/llvm-project/pull/191576
More information about the lldb-commits
mailing list