[lldb][ClangExpression] Fix LLDB_LOG incorrect format specifier
authorMichael Buch <michaelbuch12@gmail.com>
Thu, 25 Aug 2022 22:41:47 +0000 (23:41 +0100)
committerMichael Buch <michaelbuch12@gmail.com>
Fri, 26 Aug 2022 09:06:38 +0000 (10:06 +0100)
Previously this would log:
```
 FindExternalLexicalDecls on (ASTContext*)0x00000005CE825200 'Expression
ASTContext for '<user expression 0>'' in 'weak_ptr'
(%sDecl*)ClassTemplateSpecialization
 FindExternalLexicalDecls on (ASTContext*)0x00000005CE825200 'Expression
ASTContext for '<user expression 0>'' in '__shared_count'
(%sDecl*)CXXRecord
```

Note that the `%s` isn't actually respected. This patch fixes this
by providing the format specifiers that `lldb::formatv` supports.

Differential Revision: https://reviews.llvm.org/D132709

lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp

index 7124292..3187146 100644 (file)
@@ -405,7 +405,7 @@ void ClangASTSource::FindExternalLexicalDecls(
     if (const NamedDecl *context_named_decl = dyn_cast<NamedDecl>(context_decl))
       LLDB_LOG(log,
                "FindExternalLexicalDecls on (ASTContext*){0} '{1}' in "
-               "'{2}' (%sDecl*){3}",
+               "'{2}' ({3}Decl*){4}",
                m_ast_context, m_clang_ast_context->getDisplayName(),
                context_named_decl->getNameAsString().c_str(),
                context_decl->getDeclKindName(),