[PATCH] D143197: [clangd] Patch includes even without any changes
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 7 22:39:50 PST 2023
sammccall added a comment.
Code looks reasonable, but I don't understand why the changes are being made - can you explain/link to a bug in the commit message?
================
Comment at: clang-tools-extra/clangd/Preamble.cpp:688
if (It != ExistingIncludes.end()) {
- Inc.Resolved = It->second.str();
+ // Copy everything from existing include, apart from the location, when
+ // it's coming from baseline preamble.
----------------
This doesn't seem related to the patch description, can you update it?
================
Comment at: clang-tools-extra/clangd/Preamble.cpp:690
+ // it's coming from baseline preamble.
+ if (It->second) {
+ Inc.Resolved = It->second->Resolved;
----------------
why the null check?
================
Comment at: clang-tools-extra/clangd/Preamble.cpp:691
+ if (It->second) {
+ Inc.Resolved = It->second->Resolved;
+ Inc.HeaderID = It->second->HeaderID;
----------------
seems a bit more future-proof to copy the whole thing and just overwrite the fields you want to preserve. (also would avoid the need for the comment)
================
Comment at: clang-tools-extra/clangd/Preamble.cpp:708
+ // Includes haven't changed or we're not patching.
+ // So, copy them over from the baseline.
+ PP.PreambleIncludes = Baseline.Includes.MainFileIncludes;
----------------
this just echoes the code - say why instead?
(would also be good to have the reason in the commit message)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143197/new/
https://reviews.llvm.org/D143197
More information about the cfe-commits
mailing list