[Lldb-commits] [lldb] 592e89c - [lldb] Don't print to stderr in TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 11 04:34:10 PDT 2021
Author: Raphael Isemann
Date: 2021-10-11T13:33:47+02:00
New Revision: 592e89cc4e9a7d184e16d4c61abcbcb62cf7e6ed
URL: https://github.com/llvm/llvm-project/commit/592e89cc4e9a7d184e16d4c61abcbcb62cf7e6ed
DIFF: https://github.com/llvm/llvm-project/commit/592e89cc4e9a7d184e16d4c61abcbcb62cf7e6ed.diff
LOG: [lldb] Don't print to stderr in TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize
The current code just prints to the System's 'error log' which is usually stderr
(+ some other log backend). Printing to stderr however just interferes with
LLDB's console UI, so when this code is triggered during for example command
completion it just breaks the LLDB console interface until the next redraw.
Instead just use the normal LLDB log which is by default hidden and is what
users usually attach to bug reports.
The only known bug that triggers this is
https://bugs.llvm.org/show_bug.cgi?id=46775
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D111149
Added:
Modified:
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
index 152b570a6f913..f49ca04c1f46f 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -1155,20 +1155,12 @@ CompilerType TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize(
}
break;
}
- // This assert should fire for anything that we don't catch above so we know
- // to fix any issues we run into.
- if (!type_name.empty()) {
- std::string type_name_str = type_name.str();
- Host::SystemLog(Host::eSystemLogError,
- "error: need to add support for DW_TAG_base_type '%s' "
- "encoded with DW_ATE = 0x%x, bit_size = %u\n",
- type_name_str.c_str(), dw_ate, bit_size);
- } else {
- Host::SystemLog(Host::eSystemLogError, "error: need to add support for "
- "DW_TAG_base_type encoded with "
- "DW_ATE = 0x%x, bit_size = %u\n",
- dw_ate, bit_size);
- }
+
+ Log *log = lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_TYPES);
+ LLDB_LOG(log,
+ "error: need to add support for DW_TAG_base_type '{0}' "
+ "encoded with DW_ATE = {1:x}, bit_size = {2}",
+ type_name, dw_ate, bit_size);
return CompilerType();
}
More information about the lldb-commits
mailing list