[Lldb-commits] [lldb] [lldb] Improve error when redefining persistent vars (PR #227297)

Alex Langford via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 29 10:49:05 PDT 2026


================
@@ -218,24 +218,20 @@ TypeFromUser ClangExpressionDeclMap::DeportType(TypeSystemClang &target,
   return TypeFromUser(m_ast_importer_sp->DeportType(target, parser_type));
 }
 
-bool ClangExpressionDeclMap::AddPersistentVariable(const NamedDecl *decl,
-                                                   ConstString name,
-                                                   TypeFromParser parser_type,
-                                                   bool is_result,
-                                                   bool is_lvalue) {
+llvm::Error ClangExpressionDeclMap::AddPersistentVariable(
+    const NamedDecl *decl, ConstString name, TypeFromParser parser_type,
+    bool is_result, bool is_lvalue) {
   assert(m_parser_vars.get());
   auto ast = parser_type.GetTypeSystem<TypeSystemClang>();
   if (ast == nullptr)
-    return false;
+    return llvm::createStringError(
+        "persistent variable type is not a Clang type");
 
   // Check if we already declared a persistent variable with the same name.
   if (lldb::ExpressionVariableSP conflicting_var =
           m_parser_vars->m_persistent_vars->GetVariable(name)) {
-    std::string msg = llvm::formatv("redefinition of persistent variable '{0}'",
-                                    name).str();
-    m_parser_vars->m_diagnostics->AddDiagnostic(
-        msg, lldb::eSeverityError, DiagnosticOrigin::eDiagnosticOriginLLDB);
-    return false;
+    return llvm::createStringError(
----------------
bulbazord wrote:

`createStringErrorV`

https://github.com/llvm/llvm-project/pull/227297


More information about the lldb-commits mailing list