https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/91989
>From 1fba045db76f51a2dbd9a2a3cb9879858b5b653e Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Mon, 13 May 2024 14:50:07 +0100 Subject: [PATCH 1/3] [lldb][ExpressionParser][NFCI] Log pointers as hex This ensures that we log pointers as lower-case hex. E.g., instead of: ``` LayoutRecordType on (ASTContext*)0x000000010E78D600 'scratch ASTContext' for (RecordDecl*)0x000000010E797 ``` we now log: ``` ``` --- .../Clang/ClangASTImporter.cpp | 48 +++++++++---------- .../ExpressionParser/Clang/ClangASTSource.cpp | 44 ++++++++--------- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp index 30b50df79da90..2889bef26c3bc 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp @@ -313,8 +313,8 @@ CompilerType ClangASTImporter::DeportType(TypeSystemClang &dst, return {}; LLDB_LOG(log, - " [ClangASTImporter] DeportType called on ({0}Type*){1} " - "from (ASTContext*){2} to (ASTContext*){3}", + " [ClangASTImporter] DeportType called on ({0}Type*){1:x} " + "from (ASTContext*){2:x} to (ASTContext*){3:x}", src_type.GetTypeName(), src_type.GetOpaqueQualType(), &src_ctxt->getASTContext(), &dst.getASTContext()); @@ -334,8 +334,8 @@ clang::Decl *ClangASTImporter::DeportDecl(clang::ASTContext *dst_ctx, clang::ASTContext *src_ctx = &decl->getASTContext(); LLDB_LOG(log, - " [ClangASTImporter] DeportDecl called on ({0}Decl*){1} from " - "(ASTContext*){2} to (ASTContext*){3}", + " [ClangASTImporter] DeportDecl called on ({0}Decl*){1:x} from " + "(ASTContext*){2:x} to (ASTContext*){3:x}", decl->getDeclKindName(), decl, src_ctx, dst_ctx); DeclContextOverride decl_context_override; @@ -352,8 +352,8 @@ clang::Decl *ClangASTImporter::DeportDecl(clang::ASTContext *dst_ctx, return nullptr; LLDB_LOG(log, - " [ClangASTImporter] DeportDecl deported ({0}Decl*){1} to " - "({2}Decl*){3}", + " [ClangASTImporter] DeportDecl deported ({0}Decl*){1:x} to " + "({2}Decl*){3:x}", decl->getDeclKindName(), decl, result->getDeclKindName(), result); return result; @@ -637,8 +637,8 @@ bool ClangASTImporter::importRecordLayoutFromOrigin( clang::ASTContext &dest_ctx = record->getASTContext(); LLDB_LOG(log, - "LayoutRecordType on (ASTContext*){0} '{1}' for (RecordDecl*)" - "{2} [name = '{3}']", + "LayoutRecordType on (ASTContext*){0:x} '{1}' for (RecordDecl*)" + "{2:x} [name = '{3}']", &dest_ctx, TypeSystemClang::GetASTContext(&dest_ctx)->getDisplayName(), record, record->getName()); @@ -703,7 +703,7 @@ bool ClangASTImporter::importRecordLayoutFromOrigin( if (log) { LLDB_LOG(log, "LRT returned:"); - LLDB_LOG(log, "LRT Original = (RecordDecl*){0}", + LLDB_LOG(log, "LRT Original = (RecordDecl*){0:x}", static_cast<const void *>(origin_record.decl)); LLDB_LOG(log, "LRT Size = {0}", size); LLDB_LOG(log, "LRT Alignment = {0}", alignment); @@ -712,7 +712,7 @@ bool ClangASTImporter::importRecordLayoutFromOrigin( fe = record->field_end(); fi != fe; ++fi) { LLDB_LOG(log, - "LRT (FieldDecl*){0}, Name = '{1}', Type = '{2}', Offset = " + "LRT (FieldDecl*){0:x}, Name = '{1}', Type = '{2}', Offset = " "{3} bits", *fi, fi->getName(), fi->getType().getAsString(), field_offsets[*fi]); @@ -734,7 +734,7 @@ bool ClangASTImporter::importRecordLayoutFromOrigin( DynCast<CXXRecordDecl>(base_record); LLDB_LOG(log, - "LRT {0}(CXXRecordDecl*){1}, Name = '{2}', Offset = " + "LRT {0}(CXXRecordDecl*){1:x}, Name = '{2}', Offset = " "{3} chars", (is_virtual ? "Virtual " : ""), base_cxx_record.decl, base_cxx_record.decl->getName(), @@ -1025,7 +1025,7 @@ void ClangASTImporter::ForgetDestination(clang::ASTContext *dst_ast) { Log *log = GetLog(LLDBLog::Expressions); LLDB_LOG(log, - " [ClangASTImporter] Forgetting destination (ASTContext*){0}", + " [ClangASTImporter] Forgetting destination (ASTContext*){0:x}", dst_ast); m_metadata_map.erase(dst_ast); @@ -1039,7 +1039,7 @@ void ClangASTImporter::ForgetSource(clang::ASTContext *dst_ast, LLDB_LOG(log, " [ClangASTImporter] Forgetting source->dest " - "(ASTContext*){0}->(ASTContext*){1}", + "(ASTContext*){0:x}->(ASTContext*){1:x}", src_ast, dst_ast); if (!md) @@ -1164,9 +1164,9 @@ void ClangASTImporter::ASTImporterDelegate::ImportDefinitionTo( from_named_decl->printName(name_stream); name_stream.flush(); } - LLDB_LOG(log_ast, "==== [ClangASTImporter][TUDecl: {0}] Imported " - "({1}Decl*){2}, named {3} (from " - "(Decl*){4})", + LLDB_LOG(log_ast, "==== [ClangASTImporter][TUDecl: {0:x}] Imported " + "({1}Decl*){2:x}, named {3} (from " + "(Decl*){4:x})", static_cast<void *>(to->getTranslationUnitDecl()), from->getDeclKindName(), static_cast<void *>(to), name_string, static_cast<void *>(from)); @@ -1295,13 +1295,13 @@ void ClangASTImporter::ASTImporterDelegate::Imported(clang::Decl *from, name_stream.flush(); LLDB_LOG(log, - " [ClangASTImporter] Imported ({0}Decl*){1}, named {2} (from " - "(Decl*){3}), metadata {4}", + " [ClangASTImporter] Imported ({0}Decl*){1:x}, named {2} (from " + "(Decl*){3:x}), metadata {4}", from->getDeclKindName(), to, name_string, from, user_id); } else { LLDB_LOG(log, - " [ClangASTImporter] Imported ({0}Decl*){1} (from " - "(Decl*){2}), metadata {3}", + " [ClangASTImporter] Imported ({0}Decl*){1:x} (from " + "(Decl*){2:x}), metadata {3}", from->getDeclKindName(), to, from, user_id); } } @@ -1321,8 +1321,8 @@ void ClangASTImporter::ASTImporterDelegate::Imported(clang::Decl *from, LLDB_LOG(log, " [ClangASTImporter] Propagated origin " - "(Decl*){0}/(ASTContext*){1} from (ASTContext*){2} to " - "(ASTContext*){3}", + "(Decl*){0:x}/(ASTContext*){1:x} from (ASTContext*){2:x} to " + "(ASTContext*){3:x}", origin.decl, origin.ctx, &from->getASTContext(), &to->getASTContext()); } @@ -1335,7 +1335,7 @@ void ClangASTImporter::ASTImporterDelegate::Imported(clang::Decl *from, LLDB_LOG(log, " [ClangASTImporter] Decl has no origin information in " - "(ASTContext*){0}", + "(ASTContext*){0:x}", &from->getASTContext()); } @@ -1356,7 +1356,7 @@ void ClangASTImporter::ASTImporterDelegate::Imported(clang::Decl *from, LLDB_LOG(log, " [ClangASTImporter] Sourced origin " - "(Decl*){0}/(ASTContext*){1} into (ASTContext*){2}", + "(Decl*){0:x}/(ASTContext*){1:x} into (ASTContext*){2:x}", from, m_source_ctx, &to->getASTContext()); } diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp index 75493eb10d731..c725adf7cd460 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp @@ -193,7 +193,7 @@ TagDecl *ClangASTSource::FindCompleteType(const TagDecl *decl) { if (!namespace_map) return nullptr; - LLDB_LOGV(log, " CTD Inspecting namespace map{0} ({1} entries)", + LLDB_LOGV(log, " CTD Inspecting namespace map{0:x} ({1} entries)", namespace_map.get(), namespace_map->size()); for (const ClangASTImporter::NamespaceMapItem &item : *namespace_map) { @@ -265,7 +265,7 @@ void ClangASTSource::CompleteType(TagDecl *tag_decl) { if (log) { LLDB_LOG(log, " CompleteTagDecl on (ASTContext*){0} Completing " - "(TagDecl*){1} named {2}", + "(TagDecl*){1:x} named {2}", m_clang_ast_context->getDisplayName(), tag_decl, tag_decl->getName()); @@ -292,7 +292,7 @@ void ClangASTSource::CompleteType(clang::ObjCInterfaceDecl *interface_decl) { Log *log = GetLog(LLDBLog::Expressions); LLDB_LOG(log, - " [CompleteObjCInterfaceDecl] on (ASTContext*){0} '{1}' " + " [CompleteObjCInterfaceDecl] on (ASTContext*){0:x} '{1}' " "Completing an ObjCInterfaceDecl named {1}", m_ast_context, m_clang_ast_context->getDisplayName(), interface_decl->getName()); @@ -385,7 +385,7 @@ void ClangASTSource::FindExternalLexicalDecls( if (log) { if (const NamedDecl *context_named_decl = dyn_cast<NamedDecl>(context_decl)) LLDB_LOG(log, - "FindExternalLexicalDecls on (ASTContext*){0} '{1}' in " + "FindExternalLexicalDecls on (ASTContext*){0:x} '{1}' in " "'{2}' ({3}Decl*){4}", m_ast_context, m_clang_ast_context->getDisplayName(), context_named_decl->getNameAsString().c_str(), @@ -393,14 +393,14 @@ void ClangASTSource::FindExternalLexicalDecls( static_cast<const void *>(context_decl)); else if (context_decl) LLDB_LOG(log, - "FindExternalLexicalDecls on (ASTContext*){0} '{1}' in " + "FindExternalLexicalDecls on (ASTContext*){0:x} '{1}' in " "({2}Decl*){3}", m_ast_context, m_clang_ast_context->getDisplayName(), context_decl->getDeclKindName(), static_cast<const void *>(context_decl)); else LLDB_LOG(log, - "FindExternalLexicalDecls on (ASTContext*){0} '{1}' in a " + "FindExternalLexicalDecls on (ASTContext*){0:x} '{1}' in a " "NULL context", m_ast_context, m_clang_ast_context->getDisplayName()); } @@ -410,7 +410,7 @@ void ClangASTSource::FindExternalLexicalDecls( if (!original.Valid()) return; - LLDB_LOG(log, " FELD Original decl {0} (Decl*){1:x}:\n{2}", + LLDB_LOG(log, " FELD Original decl (ASTContext*){0:x} (Decl*){1:x}:\n{2}", static_cast<void *>(original.ctx), static_cast<void *>(original.decl), ClangUtil::DumpDecl(original.decl)); @@ -508,19 +508,19 @@ void ClangASTSource::FindExternalVisibleDecls(NameSearchContext &context) { if (!context.m_decl_context) LLDB_LOG(log, "ClangASTSource::FindExternalVisibleDecls on " - "(ASTContext*){0} '{1}' for '{2}' in a NULL DeclContext", + "(ASTContext*){0:x} '{1}' for '{2}' in a NULL DeclContext", m_ast_context, m_clang_ast_context->getDisplayName(), name); else if (const NamedDecl *context_named_decl = dyn_cast<NamedDecl>(context.m_decl_context)) LLDB_LOG(log, "ClangASTSource::FindExternalVisibleDecls on " - "(ASTContext*){0} '{1}' for '{2}' in '{3}'", + "(ASTContext*){0:x} '{1}' for '{2}' in '{3}'", m_ast_context, m_clang_ast_context->getDisplayName(), name, context_named_decl->getName()); else LLDB_LOG(log, "ClangASTSource::FindExternalVisibleDecls on " - "(ASTContext*){0} '{1}' for '{2}' in a '{3}'", + "(ASTContext*){0:x} '{1}' for '{2}' in a '{3}'", m_ast_context, m_clang_ast_context->getDisplayName(), name, context.m_decl_context->getDeclKindName()); } @@ -542,7 +542,7 @@ void ClangASTSource::FindExternalVisibleDecls(NameSearchContext &context) { if (!context.m_namespace_map->empty()) { if (log && log->GetVerbose()) - LLDB_LOG(log, " CAS::FEVD Registering namespace map {0} ({1} entries)", + LLDB_LOG(log, " CAS::FEVD Registering namespace map {0:x} ({1} entries)", context.m_namespace_map.get(), context.m_namespace_map->size()); NamespaceDecl *clang_namespace_decl = @@ -918,7 +918,7 @@ void ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) { ConstString selector_name(ss.GetString()); LLDB_LOG(log, - "ClangASTSource::FindObjCMethodDecls on (ASTContext*){0} '{1}' " + "ClangASTSource::FindObjCMethodDecls on (ASTContext*){0:x} '{1}' " "for selector [{2} {3}]", m_ast_context, m_clang_ast_context->getDisplayName(), interface_decl->getName(), selector_name); @@ -1062,7 +1062,7 @@ void ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) { LLDB_LOG(log, "CAS::FOPD trying origin " - "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", + "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}...", complete_interface_decl, &complete_iface_decl->getASTContext()); FindObjCMethodDeclsWithOrigin(context, complete_interface_decl, @@ -1199,7 +1199,7 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { LLDB_LOG(log, "ClangASTSource::FindObjCPropertyAndIvarDecls on " - "(ASTContext*){0} '{1}' for '{2}.{3}'", + "(ASTContext*){0:x} '{1}' for '{2}.{3}'", m_ast_context, m_clang_ast_context->getDisplayName(), parser_iface_decl->getName(), context.m_decl_name.getAsString()); @@ -1208,7 +1208,7 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { LLDB_LOG(log, "CAS::FOPD couldn't find the property on origin " - "(ObjCInterfaceDecl*){0}/(ASTContext*){1}, searching " + "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}, searching " "elsewhere...", origin_iface_decl.decl, &origin_iface_decl->getASTContext()); @@ -1233,7 +1233,7 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { LLDB_LOG(log, "CAS::FOPD trying origin " - "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", + "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}...", complete_iface_decl.decl, &complete_iface_decl->getASTContext()); FindObjCPropertyAndIvarDeclsWithOrigin(context, complete_iface_decl); @@ -1265,8 +1265,8 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { break; LLDB_LOG(log, - "CAS::FOPD[{0}] trying module " - "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", + "CAS::FOPD[{0:x}] trying module " + "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}...", interface_decl_from_modules.decl, &interface_decl_from_modules->getASTContext()); @@ -1309,8 +1309,8 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { break; LLDB_LOG(log, - "CAS::FOPD[{0}] trying runtime " - "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", + "CAS::FOPD[{0:}] trying runtime " + "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}...", interface_decl_from_runtime.decl, &interface_decl_from_runtime->getASTContext()); @@ -1329,7 +1329,7 @@ void ClangASTSource::LookupInNamespace(NameSearchContext &context) { ClangASTImporter::NamespaceMapSP namespace_map = m_ast_importer_sp->GetNamespaceMap(namespace_context); - LLDB_LOGV(log, " CAS::FEVD Inspecting namespace map {0} ({1} entries)", + LLDB_LOGV(log, " CAS::FEVD Inspecting namespace map {0:x} ({1} entries)", namespace_map.get(), namespace_map->size()); if (!namespace_map) @@ -1366,7 +1366,7 @@ void ClangASTSource::CompleteNamespaceMap( if (log) { if (parent_map && parent_map->size()) LLDB_LOG(log, - "CompleteNamespaceMap on (ASTContext*){0} '{1}' Searching " + "CompleteNamespaceMap on (ASTContext*){0:x} '{1}' Searching " "for namespace {2} in namespace {3}", m_ast_context, m_clang_ast_context->getDisplayName(), name, parent_map->begin()->second.GetName()); >From c11775a742ac1cb1f613231799abb43ac3e80f35 Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Mon, 13 May 2024 17:17:00 +0100 Subject: [PATCH 2/3] fixup! fix format specifier --- lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp index c725adf7cd460..82a7a2cc3f1ef 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp @@ -1309,7 +1309,7 @@ void ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { break; LLDB_LOG(log, - "CAS::FOPD[{0:}] trying runtime " + "CAS::FOPD[{0:x}] trying runtime " "(ObjCInterfaceDecl*){0:x}/(ASTContext*){1:x}...", interface_decl_from_runtime.decl, &interface_decl_from_runtime->getASTContext()); >From 66e8c29d66a14d97f26965095a7b1a5129fc90f0 Mon Sep 17 00:00:00 2001 From: Michael Buch <michaelbuc...@gmail.com> Date: Mon, 13 May 2024 17:23:16 +0100 Subject: [PATCH 3/3] fixup! clang-format --- .../Clang/ClangASTImporter.cpp | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp index 2889bef26c3bc..44071d1ea71c7 100644 --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp @@ -711,11 +711,11 @@ bool ClangASTImporter::importRecordLayoutFromOrigin( for (RecordDecl::field_iterator fi = record->field_begin(), fe = record->field_end(); fi != fe; ++fi) { - LLDB_LOG(log, - "LRT (FieldDecl*){0:x}, Name = '{1}', Type = '{2}', Offset = " - "{3} bits", - *fi, fi->getName(), fi->getType().getAsString(), - field_offsets[*fi]); + LLDB_LOG( + log, + "LRT (FieldDecl*){0:x}, Name = '{1}', Type = '{2}', Offset = " + "{3} bits", + *fi, fi->getName(), fi->getType().getAsString(), field_offsets[*fi]); } DeclFromParser<const CXXRecordDecl> parser_cxx_record = DynCast<const CXXRecordDecl>(parser_record); @@ -1164,9 +1164,10 @@ void ClangASTImporter::ASTImporterDelegate::ImportDefinitionTo( from_named_decl->printName(name_stream); name_stream.flush(); } - LLDB_LOG(log_ast, "==== [ClangASTImporter][TUDecl: {0:x}] Imported " - "({1}Decl*){2:x}, named {3} (from " - "(Decl*){4:x})", + LLDB_LOG(log_ast, + "==== [ClangASTImporter][TUDecl: {0:x}] Imported " + "({1}Decl*){2:x}, named {3} (from " + "(Decl*){4:x})", static_cast<void *>(to->getTranslationUnitDecl()), from->getDeclKindName(), static_cast<void *>(to), name_string, static_cast<void *>(from)); @@ -1294,10 +1295,11 @@ void ClangASTImporter::ASTImporterDelegate::Imported(clang::Decl *from, from_named_decl->printName(name_stream); name_stream.flush(); - LLDB_LOG(log, - " [ClangASTImporter] Imported ({0}Decl*){1:x}, named {2} (from " - "(Decl*){3:x}), metadata {4}", - from->getDeclKindName(), to, name_string, from, user_id); + LLDB_LOG( + log, + " [ClangASTImporter] Imported ({0}Decl*){1:x}, named {2} (from " + "(Decl*){3:x}), metadata {4}", + from->getDeclKindName(), to, name_string, from, user_id); } else { LLDB_LOG(log, " [ClangASTImporter] Imported ({0}Decl*){1:x} (from " _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits