Yeah this whole thing is a disaster and it’s puzzling that we don’t test the whole logging but instead just crash on the end user machine. I’m currently writing a test that gives all this code at least coverage and then I guess we have to fix all of these bugs.
> On Mar 4, 2020, at 10:53 AM, Shafik Yaghmour <syaghm...@apple.com> wrote: > > This is a lot of errors, did it the index use to start at one before? > > There is a type below, noted inline > >> On Mar 4, 2020, at 10:33 AM, Raphael Isemann via lldb-commits >> <lldb-commits@lists.llvm.org> wrote: >> >> >> Author: Raphael Isemann >> Date: 2020-03-04T10:32:50-08:00 >> New Revision: e98ef0af2c725f12dc60556a039e947ddeeb9f42 >> >> URL: >> https://github.com/llvm/llvm-project/commit/e98ef0af2c725f12dc60556a039e947ddeeb9f42 >> DIFF: >> https://github.com/llvm/llvm-project/commit/e98ef0af2c725f12dc60556a039e947ddeeb9f42.diff >> >> LOG: [lldb] Fix several LLDB_LOGs with wrong indices in ClangASTSource.cpp >> >> Added: >> >> >> Modified: >> lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp >> >> Removed: >> >> >> >> ################################################################################ >> diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp >> b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp >> index 4d98d9cbdda3..6a8c7bd46559 100644 >> --- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp >> +++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp >> @@ -190,8 +190,8 @@ void ClangASTSource::CompleteType(TagDecl *tag_decl) { >> >> if (log) { >> LLDB_LOG(log, >> - " CompleteTagDecl on (ASTContext*){1} Completing " >> - "(TagDecl*){2} named {3}", >> + " CompleteTagDecl on (ASTContext*){0} Completing " >> + "(TagDecl*){1} named {2}", >> m_clang_ast_context->getDisplayName(), tag_decl, >> tag_decl->getName()); >> >> @@ -220,7 +220,7 @@ void ClangASTSource::CompleteType(TagDecl *tag_decl) { >> ClangASTImporter::NamespaceMapSP namespace_map = >> m_ast_importer_sp->GetNamespaceMap(namespace_context); >> >> - LLDB_LOGV(log, " CTD Inspecting namespace map{1} ({2} entries)", >> + LLDB_LOGV(log, " CTD Inspecting namespace map{0} ({1} entries)", >> namespace_map.get(), namespace_map->size()); >> >> if (!namespace_map) >> @@ -229,7 +229,7 @@ void ClangASTSource::CompleteType(TagDecl *tag_decl) { >> for (ClangASTImporter::NamespaceMap::iterator i = >> namespace_map->begin(), >> e = namespace_map->end(); >> i != e && !found; ++i) { >> - LLDB_LOG(log, " CTD Searching namespace {1} in module {2}", >> + LLDB_LOG(log, " CTD Searching namespace {0} in module {1}", >> i->second.GetName(), i->first->GetFileSpec().GetFilename()); >> >> TypeList types; >> @@ -478,12 +478,12 @@ void ClangASTSource::FindExternalLexicalDecls( >> std::string ast_dump = ClangUtil::DumpDecl(decl); >> if (const NamedDecl *context_named_decl = >> dyn_cast<NamedDecl>(context_decl)) >> - LLDB_LOG(log, " FELD Adding [to {1}Decl {2}] lexical {3}Decl >> {4}", >> + LLDB_LOG(log, " FELD Adding [to {0}Decl {1}] lexical {2}Decl >> 34}”, > > > Typo should be {3} not 34} > > >> context_named_decl->getDeclKindName(), >> context_named_decl->getName(), decl->getDeclKindName(), >> ast_dump); >> else >> - LLDB_LOG(log, " FELD Adding lexical {1}Decl {2}", >> + LLDB_LOG(log, " FELD Adding lexical {0}Decl {1}", >> decl->getDeclKindName(), ast_dump); >> } >> >> @@ -527,19 +527,19 @@ void >> ClangASTSource::FindExternalVisibleDecls(NameSearchContext &context) { >> if (!context.m_decl_context) >> LLDB_LOG(log, >> "ClangASTSource::FindExternalVisibleDecls on " >> - "(ASTContext*){1} '{2}' for '{3}' in a NULL DeclContext", >> + "(ASTContext*){0} '{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*){1} '{2}' for '{3}' in '{4}'", >> + "(ASTContext*){0} '{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*){1} '{2}' for '{3}' in a '{4}'", >> + "(ASTContext*){0} '{1}' for '{2}' in a '{3}'", >> m_ast_context, m_clang_ast_context->getDisplayName(), name, >> context.m_decl_context->getDeclKindName()); >> } >> @@ -631,7 +631,7 @@ void ClangASTSource::FindExternalVisibleDecls( >> if (log) { >> const char *name_string = type_sp->GetName().GetCString(); >> >> - LLDB_LOG(log, " CAS::FEVD Matching type found for \"{1}\": {2}", >> name, >> + LLDB_LOG(log, " CAS::FEVD Matching type found for \"{0}\": {1}", >> name, >> (name_string ? name_string : "<anonymous>")); >> } >> >> @@ -682,7 +682,7 @@ void ClangASTSource::FillNamespaceMap( >> std::pair<lldb::ModuleSP, CompilerDeclContext>( >> module_sp, found_namespace_decl)); >> >> - LLDB_LOG(log, " CAS::FEVD Found namespace {1} in module {2}", name, >> + LLDB_LOG(log, " CAS::FEVD Found namespace {0} in module {1}", name, >> module_sp->GetFileSpec().GetFilename()); >> } >> } >> @@ -712,7 +712,7 @@ void ClangASTSource::FillNamespaceMap( >> std::pair<lldb::ModuleSP, CompilerDeclContext>(image, >> >> found_namespace_decl)); >> >> - LLDB_LOG(log, " CAS::FEVD Found namespace {1} in module {2}", name, >> + LLDB_LOG(log, " CAS::FEVD Found namespace {0} in module {1}", name, >> image->GetFileSpec().GetFilename()); >> } >> } >> @@ -841,7 +841,7 @@ bool ClangASTSource::FindObjCMethodDeclsWithOrigin( >> >> Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_EXPRESSIONS)); >> >> - LLDB_LOG(log, " CAS::FOMD found ({1}) {2}", log_info, >> + LLDB_LOG(log, " CAS::FOMD found ({0}) {1}", log_info, >> ClangUtil::DumpDecl(copied_method_decl)); >> >> context.AddNamedDecl(copied_method_decl); >> @@ -866,7 +866,7 @@ void ClangASTSource::FindDeclInModules(NameSearchContext >> &context, >> if (!modules_decl_vendor->FindDecls(name, append, max_matches, decls)) >> return; >> >> - LLDB_LOG(log, " CAS::FEVD Matching entity found for \"{1}\" in the >> modules", >> + LLDB_LOG(log, " CAS::FEVD Matching entity found for \"{0}\" in the >> modules", >> name); >> >> clang::NamedDecl *const decl_from_modules = decls[0]; >> @@ -981,8 +981,8 @@ void >> ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) { >> ConstString selector_name(ss.GetString()); >> >> LLDB_LOG(log, >> - "ClangASTSource::FindObjCMethodDecls on (ASTContext*){1} '{2}' " >> - "for selector [{3} {4}]", >> + "ClangASTSource::FindObjCMethodDecls on (ASTContext*){0} '{1}' " >> + "for selector [{2} {3}]", >> m_ast_context, m_clang_ast_context->getDisplayName(), >> interface_decl->getName(), selector_name); >> SymbolContextList sc_list; >> @@ -1104,7 +1104,7 @@ void >> ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) { >> if (!copied_method_decl) >> continue; >> >> - LLDB_LOG(log, " CAS::FOMD found (in symbols)\n{1}", >> + LLDB_LOG(log, " CAS::FOMD found (in symbols)\n{0}", >> ClangUtil::DumpDecl(copied_method_decl)); >> >> context.AddNamedDecl(copied_method_decl); >> @@ -1134,7 +1134,7 @@ void >> ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "CAS::FOPD trying origin " >> - "(ObjCInterfaceDecl*){1}/(ASTContext*){2}...", >> + "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", >> complete_interface_decl, &complete_iface_decl->getASTContext()); >> >> FindObjCMethodDeclsWithOrigin(context, complete_interface_decl, >> @@ -1233,7 +1233,7 @@ static bool FindObjCPropertyAndIvarDeclsWithOrigin( >> DeclFromParser<ObjCPropertyDecl> parser_property_decl( >> origin_property_decl.Import(source)); >> if (parser_property_decl.IsValid()) { >> - LLDB_LOG(log, " CAS::FOPD found\n{1}", >> + LLDB_LOG(log, " CAS::FOPD found\n{0}", >> ClangUtil::DumpDecl(parser_property_decl.decl)); >> >> context.AddNamedDecl(parser_property_decl.decl); >> @@ -1248,7 +1248,7 @@ static bool FindObjCPropertyAndIvarDeclsWithOrigin( >> DeclFromParser<ObjCIvarDecl> parser_ivar_decl( >> origin_ivar_decl.Import(source)); >> if (parser_ivar_decl.IsValid()) { >> - LLDB_LOG(log, " CAS::FOPD found\n{1}", >> + LLDB_LOG(log, " CAS::FOPD found\n{0}", >> ClangUtil::DumpDecl(parser_ivar_decl.decl)); >> >> context.AddNamedDecl(parser_ivar_decl.decl); >> @@ -1271,7 +1271,7 @@ void >> ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "ClangASTSource::FindObjCPropertyAndIvarDecls on " >> - "(ASTContext*){1} '{2}' for '{3}.{4}'", >> + "(ASTContext*){0} '{1}' for '{2}.{3}'", >> m_ast_context, m_clang_ast_context->getDisplayName(), >> parser_iface_decl->getName(), context.m_decl_name.getAsString()); >> >> @@ -1280,7 +1280,7 @@ void >> ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "CAS::FOPD couldn't find the property on origin " >> - "(ObjCInterfaceDecl*){1}/(ASTContext*){2}, searching " >> + "(ObjCInterfaceDecl*){0}/(ASTContext*){1}, searching " >> "elsewhere...", >> origin_iface_decl.decl, &origin_iface_decl->getASTContext()); >> >> @@ -1305,7 +1305,7 @@ void >> ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "CAS::FOPD trying origin " >> - "(ObjCInterfaceDecl*){1}/(ASTContext*){2}...", >> + "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", >> complete_iface_decl.decl, &complete_iface_decl->getASTContext()); >> >> FindObjCPropertyAndIvarDeclsWithOrigin(context, *this, >> complete_iface_decl); >> @@ -1338,7 +1338,7 @@ void >> ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "CAS::FOPD[{0}] trying module " >> - "(ObjCInterfaceDecl*){1}/(ASTContext*){2}...", >> + "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", >> interface_decl_from_modules.decl, >> &interface_decl_from_modules->getASTContext()); >> >> @@ -1382,7 +1382,7 @@ void >> ClangASTSource::FindObjCPropertyAndIvarDecls(NameSearchContext &context) { >> >> LLDB_LOG(log, >> "CAS::FOPD[{0}] trying runtime " >> - "(ObjCInterfaceDecl*){1}/(ASTContext*){2}...", >> + "(ObjCInterfaceDecl*){0}/(ASTContext*){1}...", >> interface_decl_from_runtime.decl, >> &interface_decl_from_runtime->getASTContext()); >> >> @@ -1401,7 +1401,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 {1} ({2} entries)", >> + LLDB_LOGV(log, " CAS::FEVD Inspecting namespace map {0} ({1} entries)", >> namespace_map.get(), namespace_map->size()); >> >> if (!namespace_map) >> @@ -1410,7 +1410,7 @@ void >> ClangASTSource::LookupInNamespace(NameSearchContext &context) { >> for (ClangASTImporter::NamespaceMap::iterator i = namespace_map->begin(), >> e = namespace_map->end(); >> i != e; ++i) { >> - LLDB_LOG(log, " CAS::FEVD Searching namespace {1} in module {2}", >> + LLDB_LOG(log, " CAS::FEVD Searching namespace {0} in module {1}", >> i->second.GetName(), i->first->GetFileSpec().GetFilename()); >> >> FindExternalVisibleDecls(context, i->first, i->second); >> @@ -1506,7 +1506,7 @@ bool ClangASTSource::layoutRecordType(const RecordDecl >> *record, uint64_t &size, >> Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_EXPRESSIONS)); >> >> LLDB_LOG(log, >> - "LayoutRecordType on (ASTContext*){1} '{2}' for (RecordDecl*)" >> + "LayoutRecordType on (ASTContext*){0} '{1}' for (RecordDecl*)" >> "{3} [name = '{4}']", >> m_ast_context, m_clang_ast_context->getDisplayName(), record, >> record->getName()); >> @@ -1583,7 +1583,7 @@ bool ClangASTSource::layoutRecordType(const RecordDecl >> *record, uint64_t &size, >> fe = record->field_end(); >> fi != fe; ++fi) { >> LLDB_LOG(log, >> - "LRT[{0}] (FieldDecl*){1}, Name = '{2}', Offset = {3} >> bits", >> + "LRT (FieldDecl*){0}, Name = '{1}', Offset = {2} bits", >> *fi, fi->getName(), field_offsets[*fi]); >> } >> DeclFromParser<const CXXRecordDecl> parser_cxx_record = >> @@ -1603,8 +1603,8 @@ bool ClangASTSource::layoutRecordType(const RecordDecl >> *record, uint64_t &size, >> DynCast<CXXRecordDecl>(base_record); >> >> LLDB_LOG(log, >> - "LRT {1}(CXXRecordDecl*){2}, Name = '{3}', Offset = " >> - "{4} chars", >> + "LRT {0}(CXXRecordDecl*){1}, Name = '{2}', Offset = " >> + "{3} chars", >> (is_virtual ? "Virtual " : ""), base_cxx_record.decl, >> base_cxx_record.decl->getName(), >> (is_virtual >> @@ -1628,14 +1628,14 @@ void ClangASTSource::CompleteNamespaceMap( >> if (log) { >> if (parent_map && parent_map->size()) >> LLDB_LOG(log, >> - "CompleteNamespaceMap on (ASTContext*){1} '{2}' Searching " >> - "for namespace {3} in namespace {4}", >> + "CompleteNamespaceMap on (ASTContext*){0} '{1}' Searching " >> + "for namespace {2} in namespace {3}", >> m_ast_context, m_clang_ast_context->getDisplayName(), name, >> parent_map->begin()->second.GetName()); >> else >> LLDB_LOG(log, >> - "CompleteNamespaceMap on (ASTContext*){1} '{2}' Searching " >> - "for namespace {3}", >> + "CompleteNamespaceMap on (ASTContext*){0} '{1}' Searching " >> + "for namespace {2}", >> m_ast_context, m_clang_ast_context->getDisplayName(), name); >> } >> >> @@ -1662,7 +1662,7 @@ void ClangASTSource::CompleteNamespaceMap( >> namespace_map->push_back(std::pair<lldb::ModuleSP, CompilerDeclContext>( >> module_sp, found_namespace_decl)); >> >> - LLDB_LOG(log, " CMN Found namespace {1} in module {2}", name, >> + LLDB_LOG(log, " CMN Found namespace {0} in module {1}", name, >> module_sp->GetFileSpec().GetFilename()); >> } >> } else { >> @@ -1693,7 +1693,7 @@ void ClangASTSource::CompleteNamespaceMap( >> namespace_map->push_back(std::pair<lldb::ModuleSP, CompilerDeclContext>( >> image, found_namespace_decl)); >> >> - LLDB_LOG(log, " CMN[{0}] Found namespace {1} in module {2}", name, >> + LLDB_LOG(log, " CMN[{0}] Found namespace {0} in module {1}", name, >> image->GetFileSpec().GetFilename()); >> } >> } >> >> >> >> _______________________________________________ >> lldb-commits mailing list >> lldb-commits@lists.llvm.org >> https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits