[PATCH] D112695: [clangd] IncludeCleaner: Skip non self-contained headers
    Sam McCall via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Fri Oct 29 07:51:54 PDT 2021
    
    
  
sammccall accepted this revision.
sammccall added inline comments.
This revision is now accepted and ready to land.
================
Comment at: clang-tools-extra/clangd/IncludeCleaner.cpp:250
     if (!MFI.HeaderID) {
       elog("File {0} not found.", MFI.Written);
       continue;
----------------
(sorry, I missed this before)
We should not be elogging this case, we're already emitting a diagnostic and it doesn't indicate anything wrong with clangd itself.
================
Comment at: clang-tools-extra/clangd/IncludeCleaner.cpp:256
+    if (!Used && !mayConsiderUnused(MFI, AST)) {
+      dlog("{0} is not a valid unused header and will be filtered out",
+           MFI.Written);
----------------
This seems pretty vague text (particularly: what does valid mean, and is it valid but used or invalid but unused). Maybe "{0} was not used, but is not eligible to be diagnosed as unused"?
================
Comment at: clang-tools-extra/clangd/IncludeCleaner.h:64
 /// Retrieves headers that are referenced from the main file but not used.
+/// System headers and inclusions of headers with no header guard are dropped.
 std::vector<const Inclusion *>
----------------
I'm slightly worried about these sorts of comments becoming stale, they're really just describing what we think "not used" means.
I'd replace it with something more general like "In unclear cases, headers are not marked as unused", but up to you
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112695/new/
https://reviews.llvm.org/D112695
    
    
More information about the cfe-commits
mailing list