[PATCH] D124687: [Tooling/DependencyScanning & Preprocessor] Refactor dependency scanning to record and use pre-lexed preprocessor directive tokens, instead of minimized sources
Jan Svoboda via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun May 1 23:43:03 PDT 2022
jansvoboda11 added a comment.
I finished an initial pass through the code and it looks good for the most parts. I left a couple of suggestions in-line.
Did you test this change on some larger body of code? That would make me more confident, since this is a non-trivial change.
Might be good to get other reviewers to chime in.
================
Comment at: clang/include/clang/Lex/PreprocessorOptions.h:214
+ FileEntryRef)>
+ DependencyDirectivesForFile;
----------------
To be honest, I'm not a fan of using `PreprocessorOptions` to carry state between compiler invocations.
Could we implement a different mechanism for this in a prep patch an put `DependencyDirectivesForFile` there? `FailedModules` also seem as a state rather than options.
================
Comment at: clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp:1
-//===- DependencyDirectivesSourceMinimizer.cpp - -------------------------===//
-//
----------------
Can you split out the minimizer -> directives scanner rename into a separate patch? That would help with reviewing.
================
Comment at: clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp:204
- // Pass the skip mappings which should speed up excluded conditional block
- // skipping in the preprocessor.
- ScanInstance.getPreprocessorOpts()
- .ExcludedConditionalDirectiveSkipMappings = &PPSkipMappings;
+ llvm::IntrusiveRefCntPtr<DependencyScanningWorkerFilesystem> localDepFS =
+ DepFS;
----------------
Nit: I think Clang still uses `PascalCase` for variable names.
================
Comment at: clang/test/ClangScanDeps/macro-expansions.cpp:1
+// RUN: rm -rf %t
+// RUN: split-file %s %t
----------------
Could you provide a short description of what's the intention of this test? Probably not obvious to the uninitiated.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124687/new/
https://reviews.llvm.org/D124687
More information about the cfe-commits
mailing list