From: Raphael Isemann Date: Mon, 11 Oct 2021 10:39:54 +0000 (+0200) Subject: [lldb] Don't print to stderr in TypeSystemClang::GetBuiltinTypeForDWARFEncodingAndBitSize X-Git-Tag: upstream/15.0.7~29004 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=592e89cc4e9a7d184e16d4c61abcbcb62cf7e6ed;p=platform%2Fupstream%2Fllvm.git [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 --- diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp index 152b570..f49ca04 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(); }