/// Get the full command line, excluding -fmodule-file=" arguments.
std::vector<std::string> getCommandLineWithoutModulePaths() const;
-
- /// Get additional arguments suitable for appending to the original Clang
- /// command line, excluding "-fmodule-file=" arguments.
- std::vector<std::string> getAdditionalArgsWithoutModulePaths() const;
};
struct FullDependenciesResult {
FullDependencies::getCommandLineWithoutModulePaths() const {
std::vector<std::string> Args = OriginalCommandLine;
- std::vector<std::string> AdditionalArgs =
- getAdditionalArgsWithoutModulePaths();
- Args.insert(Args.end(), AdditionalArgs.begin(), AdditionalArgs.end());
+ Args.push_back("-fno-implicit-modules");
+ Args.push_back("-fno-implicit-module-maps");
+ for (const PrebuiltModuleDep &PMD : PrebuiltModuleDeps)
+ Args.push_back("-fmodule-file=" + PMD.PCMFile);
// This argument is unused in explicit compiles.
llvm::erase_if(Args, [](const std::string &Arg) {
return Args;
}
-std::vector<std::string>
-FullDependencies::getAdditionalArgsWithoutModulePaths() const {
- std::vector<std::string> Args{
- "-fno-implicit-modules",
- "-fno-implicit-module-maps",
- };
-
- for (const PrebuiltModuleDep &PMD : PrebuiltModuleDeps)
- Args.push_back("-fmodule-file=" + PMD.PCMFile);
-
- return Args;
-}
-
DependencyScanningTool::DependencyScanningTool(
DependencyScanningService &Service)
: Worker(Service) {}