[PATCH] D42803: [clangd] Log dropped diagnostics.

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 1 11:07:43 PST 2018


ilya-biryukov added inline comments.


================
Comment at: clangd/ClangdUnit.cpp:182
+  SmallString<64> Message;
+  D.FormatDiagnostic(Message);
+
----------------
sammccall wrote:
> does Message include file:line? we probably want that in the log line.
No, it didn't include the line before. Now dumping the location too.


================
Comment at: clangd/ClangdUnit.cpp:186
+      !D.getSourceManager().isInMainFile(D.getLocation())) {
+    log("Ignored diagnostic outside main file: " + Twine(Message));
     return llvm::None;
----------------
sammccall wrote:
> Agree this is useful.
> 
> Have we turned off the diagnostics limit (or will we?) a misconfig of e.g. C vs C++ parsing of a header seems like it could produce 1000+ log lines from preamble that we should probably avoid somehow.
> (Maybe even avoid paying to format)
I don't think we have changed default clang behavior.
This look like a good use-case for introducing log levels.
This information is definitely too verbose most of the time, but very useful when debugging failures


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D42803





More information about the cfe-commits mailing list