[Lldb-commits] [lldb] [lldb] Fix DIL error diagnostics output (PR #187680)
Michael Buch via lldb-commits
lldb-commits at lists.llvm.org
Wed Apr 1 04:24:00 PDT 2026
================
@@ -36,13 +36,21 @@ DILDiagnosticError::DILDiagnosticError(llvm::StringRef expr,
DiagnosticDetail::SourceLocation sloc = {
FileSpec{}, /*line=*/1, static_cast<uint16_t>(loc + 1),
err_len, false, /*in_user_input=*/true};
- std::string rendered_msg =
- llvm::formatv("<user expression 0>:1:{0}: {1}\n 1 | {2}\n | ^",
- loc + 1, message, expr);
+ StreamString rendered_msg(false);
+ auto msg = llvm::formatv("<user expression>:1:{0}: {1}\n 1 | {2}\n |",
+ loc + 1, message, expr);
+ rendered_msg << msg.str();
+ for (uint32_t i = 0; i <= loc; i++)
+ rendered_msg << " ";
+ rendered_msg << "^";
+ for (uint32_t i = 1; i < err_len; i++)
+ rendered_msg << "~";
----------------
Michael137 wrote:
Nit:
If you make `rendered_msg` a `llvm::raw_string_ostream` you can just do:
```
rendered_msg << llvm::indent(loc) << "^" << std::string(err_len, "~");
```
https://github.com/llvm/llvm-project/pull/187680
More information about the lldb-commits
mailing list