[clang] 069dd87 - Revert "[C++20] [Modules] [ClangScanDeps] Add ClangScanDeps support for C++20 Named Modules in P1689 format (2/4)"
NAKAMURA Takumi via cfe-commits
cfe-commits at lists.llvm.org
Sun Feb 12 01:39:57 PST 2023
Author: NAKAMURA Takumi
Date: 2023-02-12T18:38:25+09:00
New Revision: 069dd8768a6a00df0a7c4573d415744b06f98955
URL: https://github.com/llvm/llvm-project/commit/069dd8768a6a00df0a7c4573d415744b06f98955
DIFF: https://github.com/llvm/llvm-project/commit/069dd8768a6a00df0a7c4573d415744b06f98955.diff
LOG: Revert "[C++20] [Modules] [ClangScanDeps] Add ClangScanDeps support for C++20 Named Modules in P1689 format (2/4)"
This reverts commit de17c665e3f995c7f5a0e453461ce3a1b8aec196.
See also D137527
Added:
Modified:
clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
clang/tools/clang-scan-deps/ClangScanDeps.cpp
Removed:
clang/test/ClangScanDeps/P1689.cppm
################################################################################
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
index 109cf049a6523..a8cb15847b781 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
@@ -35,13 +35,9 @@ enum class ScanningOutputFormat {
/// intermodule dependency information.
Make,
- /// This outputs the full clang module dependency graph suitable for use for
+ /// This outputs the full module dependency graph suitable for use for
/// explicitly building modules.
Full,
-
- /// This outputs the dependency graph for standard c++ modules in P1689R5
- /// format.
- P1689,
};
/// The dependency scanning service contains shared configuration and state that
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
index 505137c539e6f..52a08d294dcfc 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
@@ -68,12 +68,6 @@ struct TranslationUnitDeps {
std::vector<std::string> DriverCommandLine;
};
-struct P1689Rule {
- std::string PrimaryOutput;
- std::optional<P1689ModuleInfo> Provides;
- std::vector<P1689ModuleInfo> Requires;
-};
-
/// The high-level implementation of the dependency discovery tool that runs on
/// an individual worker thread.
class DependencyScanningTool {
@@ -92,10 +86,6 @@ class DependencyScanningTool {
llvm::Expected<std::string>
getDependencyFile(const std::vector<std::string> &CommandLine, StringRef CWD);
- llvm::Expected<P1689Rule>
- getP1689ModuleDependencyFile(const CompileCommand &Command,
- StringRef CWD);
-
/// Given a Clang driver command-line for a translation unit, gather the
/// modular dependencies and return the information needed for explicit build.
///
diff --git a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
index 5ada65c0a8308..5fb8d52f9ff01 100644
--- a/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
+++ b/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
@@ -41,11 +41,7 @@ class DependencyConsumer {
public:
virtual ~DependencyConsumer() {}
- virtual void handleProvidedAndRequiredStdCXXModules(
- std::optional<P1689ModuleInfo> Provided,
- std::vector<P1689ModuleInfo> Requires) {}
-
- virtual void handleBuildCommand(Command Cmd) {}
+ virtual void handleBuildCommand(Command Cmd) = 0;
virtual void
handleDependencyOutputOpts(const DependencyOutputOptions &Opts) = 0;
diff --git a/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h b/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
index 238fc84ddd11c..3e1b71e6b8a48 100644
--- a/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
+++ b/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
@@ -62,27 +62,6 @@ struct ModuleID {
}
};
-/// P1689ModuleInfo - Represents the needed information of standard C++20
-/// modules for P1689 format.
-struct P1689ModuleInfo {
- /// The name of the module. This may include `:` for partitions.
- std::string ModuleName;
-
- /// Optional. The source path to the module.
- std::string SourcePath;
-
- /// If this module is a standard c++ interface unit.
- bool IsStdCXXModuleInterface = true;
-
- enum class ModuleType {
- NamedCXXModule
- // To be supported
- // AngleHeaderUnit,
- // QuoteHeaderUnit
- };
- ModuleType Type = ModuleType::NamedCXXModule;
-};
-
/// An output from a module compilation, such as the path of the module file.
enum class ModuleOutputKind {
/// The module file (.pcm). Required.
@@ -202,7 +181,7 @@ class ModuleDepCollector final : public DependencyCollector {
ModuleDepCollector(std::unique_ptr<DependencyOutputOptions> Opts,
CompilerInstance &ScanInstance, DependencyConsumer &C,
CompilerInvocation OriginalCI, bool OptimizeArgs,
- bool EagerLoadModules, bool IsStdModuleP1689Format);
+ bool EagerLoadModules);
void attachToPreprocessor(Preprocessor &PP) override;
void attachToASTReader(ASTReader &R) override;
@@ -240,12 +219,6 @@ class ModuleDepCollector final : public DependencyCollector {
bool OptimizeArgs;
/// Whether to set up command-lines to load PCM files eagerly.
bool EagerLoadModules;
- /// If we're generating dependency output in P1689 format
- /// for standard C++ modules.
- bool IsStdModuleP1689Format;
-
- std::optional<P1689ModuleInfo> ProvidedStdCXXModule;
- std::vector<P1689ModuleInfo> RequiredStdCXXModules;
/// Checks whether the module is known as being prebuilt.
bool isPrebuiltModule(const Module *M);
diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
index ded5684190221..a7ab4dd3af6da 100644
--- a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
+++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
@@ -88,49 +88,6 @@ llvm::Expected<std::string> DependencyScanningTool::getDependencyFile(
return Output;
}
-llvm::Expected<P1689Rule> DependencyScanningTool::getP1689ModuleDependencyFile(
- const CompileCommand &Command, StringRef CWD) {
- class P1689ModuleDependencyPrinterConsumer : public DependencyConsumer {
- public:
- P1689ModuleDependencyPrinterConsumer(P1689Rule &Rule,
- const CompileCommand &Command)
- : Filename(Command.Filename), Rule(Rule) {
- Rule.PrimaryOutput = Command.Output;
- }
-
- void
- handleDependencyOutputOpts(const DependencyOutputOptions &Opts) override {}
- void handleFileDependency(StringRef File) override {}
- void handlePrebuiltModuleDependency(PrebuiltModuleDep PMD) override {}
- void handleModuleDependency(ModuleDeps MD) override {}
- void handleContextHash(std::string Hash) override {}
- std::string lookupModuleOutput(const ModuleID &ID,
- ModuleOutputKind Kind) override {
- llvm::report_fatal_error("unexpected call to lookupModuleOutput");
- }
-
- void handleProvidedAndRequiredStdCXXModules(
- std::optional<P1689ModuleInfo> Provided,
- std::vector<P1689ModuleInfo> Requires) override {
- Rule.Provides = Provided;
- if (Rule.Provides)
- Rule.Provides->SourcePath = Filename.str();
- Rule.Requires = Requires;
- }
-
- private:
- StringRef Filename;
- P1689Rule &Rule;
- };
-
- P1689Rule Rule;
- P1689ModuleDependencyPrinterConsumer Consumer(Rule, Command);
- auto Result = Worker.computeDependencies(CWD, Command.CommandLine, Consumer);
- if (Result)
- return std::move(Result);
- return Rule;
-}
-
llvm::Expected<TranslationUnitDeps>
DependencyScanningTool::getTranslationUnitDependencies(
const std::vector<std::string> &CommandLine, StringRef CWD,
diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
index f7c976b4a3033..a337971755ea2 100644
--- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
+++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
@@ -247,12 +247,10 @@ class DependencyScanningAction : public tooling::ToolAction {
std::make_shared<DependencyConsumerForwarder>(
std::move(Opts), WorkingDirectory, Consumer));
break;
- case ScanningOutputFormat::P1689:
case ScanningOutputFormat::Full:
MDC = std::make_shared<ModuleDepCollector>(
std::move(Opts), ScanInstance, Consumer, OriginalInvocation,
- OptimizeArgs, EagerLoadModules,
- Format == ScanningOutputFormat::P1689);
+ OptimizeArgs, EagerLoadModules);
ScanInstance.addDependencyCollector(MDC);
break;
}
diff --git a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
index e882067dca398..94ece9eb4c685 100644
--- a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
+++ b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
@@ -341,14 +341,6 @@ void ModuleDepCollectorPP::InclusionDirective(
void ModuleDepCollectorPP::moduleImport(SourceLocation ImportLoc,
ModuleIdPath Path,
const Module *Imported) {
- if (MDC.ScanInstance.getPreprocessor().isInImportingCXXNamedModules()) {
- P1689ModuleInfo RequiredModule;
- RequiredModule.ModuleName = Path[0].first->getName().str();
- RequiredModule.Type = P1689ModuleInfo::ModuleType::NamedCXXModule;
- MDC.RequiredStdCXXModules.push_back(RequiredModule);
- return;
- }
-
handleImport(Imported);
}
@@ -371,21 +363,6 @@ void ModuleDepCollectorPP::EndOfMainFile() {
.getFileEntryForID(MainFileID)
->getName());
- auto &PP = MDC.ScanInstance.getPreprocessor();
- if (PP.isInNamedModule()) {
- P1689ModuleInfo ProvidedModule;
- ProvidedModule.ModuleName = PP.getNamedModuleName();
- ProvidedModule.Type = P1689ModuleInfo::ModuleType::NamedCXXModule;
- ProvidedModule.IsStdCXXModuleInterface = PP.isInNamedInterfaceUnit();
- // Don't put implementation (non partition) unit as Provide.
- // Put the module as required instead. Since the implementation
- // unit will import the primary module implicitly.
- if (PP.isInImplementationUnit())
- MDC.RequiredStdCXXModules.push_back(ProvidedModule);
- else
- MDC.ProvidedStdCXXModule = ProvidedModule;
- }
-
if (!MDC.ScanInstance.getPreprocessorOpts().ImplicitPCHInclude.empty())
MDC.addFileDep(MDC.ScanInstance.getPreprocessorOpts().ImplicitPCHInclude);
@@ -399,10 +376,6 @@ void ModuleDepCollectorPP::EndOfMainFile() {
MDC.Consumer.handleDependencyOutputOpts(*MDC.Opts);
- if (MDC.IsStdModuleP1689Format)
- MDC.Consumer.handleProvidedAndRequiredStdCXXModules(
- MDC.ProvidedStdCXXModule, MDC.RequiredStdCXXModules);
-
for (auto &&I : MDC.ModularDeps)
MDC.Consumer.handleModuleDependency(*I.second);
@@ -577,12 +550,10 @@ void ModuleDepCollectorPP::addAffectingClangModule(
ModuleDepCollector::ModuleDepCollector(
std::unique_ptr<DependencyOutputOptions> Opts,
CompilerInstance &ScanInstance, DependencyConsumer &C,
- CompilerInvocation OriginalCI, bool OptimizeArgs, bool EagerLoadModules,
- bool IsStdModuleP1689Format)
+ CompilerInvocation OriginalCI, bool OptimizeArgs, bool EagerLoadModules)
: ScanInstance(ScanInstance), Consumer(C), Opts(std::move(Opts)),
OriginalInvocation(std::move(OriginalCI)), OptimizeArgs(OptimizeArgs),
- EagerLoadModules(EagerLoadModules),
- IsStdModuleP1689Format(IsStdModuleP1689Format) {}
+ EagerLoadModules(EagerLoadModules) {}
void ModuleDepCollector::attachToPreprocessor(Preprocessor &PP) {
PP.addPPCallbacks(std::make_unique<ModuleDepCollectorPP>(*this));
diff --git a/clang/test/ClangScanDeps/P1689.cppm b/clang/test/ClangScanDeps/P1689.cppm
deleted file mode 100644
index c539f8ffb7134..0000000000000
--- a/clang/test/ClangScanDeps/P1689.cppm
+++ /dev/null
@@ -1,157 +0,0 @@
-// RUN: rm -fr %t
-// RUN: mkdir -p %t
-// RUN: split-file %s %t
-//
-// RUN: sed "s|DIR|%/t|g" %t/P1689.json.in > %t/P1689.json
-// RUN: clang-scan-deps -compilation-database %t/P1689.json -format=p1689 | FileCheck %t/Checks.cpp -DPREFIX=%/t
-// RUN: clang-scan-deps --mode=preprocess-dependency-directives -compilation-database %t/P1689.json -format=p1689 | FileCheck %t/Checks.cpp -DPREFIX=%/t
-
-//--- P1689.json.in
-[
-{
- "directory": "DIR",
- "command": "clang++ -std=c++20 DIR/M.cppm -c -o DIR/M.o",
- "file": "DIR/M.cppm",
- "output": "DIR/M.o"
-},
-{
- "directory": "DIR",
- "command": "clang++ -std=c++20 DIR/Impl.cpp -c -o DIR/Impl.o",
- "file": "DIR/Impl.cpp",
- "output": "DIR/Impl.o"
-},
-{
- "directory": "DIR",
- "command": "clang++ -std=c++20 DIR/impl_part.cppm -c -o DIR/impl_part.o",
- "file": "DIR/impl_part.cppm",
- "output": "DIR/impl_part.o"
-},
-{
- "directory": "DIR",
- "command": "clang++ -std=c++20 DIR/interface_part.cppm -c -o DIR/interface_part.o",
- "file": "DIR/interface_part.cppm",
- "output": "DIR/interface_part.o"
-},
-{
- "directory": "DIR",
- "command": "clang++ -std=c++20 DIR/User.cpp -c -o DIR/User.o",
- "file": "DIR/User.cpp",
- "output": "DIR/User.o"
-}
-]
-
-
-//--- M.cppm
-export module M;
-export import :interface_part;
-import :impl_part;
-export void Hello();
-
-//--- Impl.cpp
-module;
-#include "header.mock"
-module M;
-void Hello() {
- std::cout << "Hello ";
-}
-
-//--- impl_part.cppm
-module;
-#include "header.mock"
-module M:impl_part;
-import :interface_part;
-
-std::string W = "World.";
-void World() {
- std::cout << W << std::endl;
-}
-
-//--- interface_part.cppm
-export module M:interface_part;
-export void World();
-
-//--- User.cpp
-import M;
-import third_party_module;
-int main() {
- Hello();
- World();
- return 0;
-}
-
-//--- Checks.cpp
-// CHECK: {
-// CHECK-NEXT: "revision": 0,
-// CHECK-NEXT: "rules": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "primary-output": "[[PREFIX]]/Impl.o",
-// CHECK-NEXT: "requires": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "M",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/M.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "primary-output": "[[PREFIX]]/M.o",
-// CHECK-NEXT: "provides": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "is-interface": true,
-// CHECK-NEXT: "logical-name": "M",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/M.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ],
-// CHECK-NEXT: "requires": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "M:interface_part",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/interface_part.cppm"
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "M:impl_part",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/impl_part.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "primary-output": "[[PREFIX]]/User.o",
-// CHECK-NEXT: "requires": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "M",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/M.cppm"
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "third_party_module"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "primary-output": "[[PREFIX]]/impl_part.o",
-// CHECK-NEXT: "provides": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "is-interface": false,
-// CHECK-NEXT: "logical-name": "M:impl_part",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/impl_part.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ],
-// CHECK-NEXT: "requires": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "logical-name": "M:interface_part",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/interface_part.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: },
-// CHECK-NEXT: {
-// CHECK-NEXT: "primary-output": "[[PREFIX]]/interface_part.o",
-// CHECK-NEXT: "provides": [
-// CHECK-NEXT: {
-// CHECK-NEXT: "is-interface": true,
-// CHECK-NEXT: "logical-name": "M:interface_part",
-// CHECK-NEXT: "source-path": "[[PREFIX]]/interface_part.cppm"
-// CHECK-NEXT: }
-// CHECK-NEXT: ]
-// CHECK-NEXT: }
-// CHECK-NEXT: ],
-// CHECK-NEXT: "version": 1
-// CHECK-NEXT: }
-
-//--- header.mock
diff --git a/clang/tools/clang-scan-deps/ClangScanDeps.cpp b/clang/tools/clang-scan-deps/ClangScanDeps.cpp
index cf10756cda760..79584d31400ed 100644
--- a/clang/tools/clang-scan-deps/ClangScanDeps.cpp
+++ b/clang/tools/clang-scan-deps/ClangScanDeps.cpp
@@ -133,15 +133,12 @@ static llvm::cl::opt<ScanningMode> ScanMode(
static llvm::cl::opt<ScanningOutputFormat> Format(
"format", llvm::cl::desc("The output format for the dependencies"),
- llvm::cl::values(
- clEnumValN(ScanningOutputFormat::Make, "make",
- "Makefile compatible dep file"),
- clEnumValN(ScanningOutputFormat::P1689, "p1689",
- "Generate standard c++ modules dependency P1689 format"),
- clEnumValN(ScanningOutputFormat::Full, "experimental-full",
- "Full dependency graph suitable"
- " for explicitly building modules. This format "
- "is experimental and will change.")),
+ llvm::cl::values(clEnumValN(ScanningOutputFormat::Make, "make",
+ "Makefile compatible dep file"),
+ clEnumValN(ScanningOutputFormat::Full, "experimental-full",
+ "Full dependency graph suitable"
+ " for explicitly building modules. This format "
+ "is experimental and will change.")),
llvm::cl::init(ScanningOutputFormat::Make),
llvm::cl::cat(DependencyScannerCategory));
@@ -466,88 +463,6 @@ static bool handleModuleResult(
return false;
}
-class P1689Deps {
-public:
- void printDependencies(raw_ostream &OS) {
- addSourcePathsToRequires();
- // Sort the modules by name to get a deterministic order.
- llvm::sort(Rules, [](const P1689Rule &A, const P1689Rule &B) {
- return A.PrimaryOutput < B.PrimaryOutput;
- });
-
- using namespace llvm::json;
- Array OutputRules;
- for (const P1689Rule &R : Rules) {
- Object O{{"primary-output", R.PrimaryOutput}};
-
- if (R.Provides) {
- Array Provides;
- Object Provided{{"logical-name", R.Provides->ModuleName},
- {"source-path", R.Provides->SourcePath},
- {"is-interface", R.Provides->IsStdCXXModuleInterface}};
- Provides.push_back(std::move(Provided));
- O.insert({"provides", std::move(Provides)});
- }
-
- Array Requires;
- for (const P1689ModuleInfo &Info : R.Requires) {
- Object RequiredInfo{{"logical-name", Info.ModuleName}};
- if (!Info.SourcePath.empty())
- RequiredInfo.insert({"source-path", Info.SourcePath});
- Requires.push_back(std::move(RequiredInfo));
- }
-
- if (!Requires.empty())
- O.insert({"requires", std::move(Requires)});
-
- OutputRules.push_back(std::move(O));
- }
-
- Object Output{
- {"version", 1}, {"revision", 0}, {"rules", std::move(OutputRules)}};
-
- OS << llvm::formatv("{0:2}\n", Value(std::move(Output)));
- }
-
- void addRules(P1689Rule &Rule) { Rules.push_back(Rule); }
-
-private:
- void addSourcePathsToRequires() {
- llvm::DenseMap<StringRef, StringRef> ModuleSourceMapper;
- for (const P1689Rule &R : Rules)
- if (R.Provides && !R.Provides->SourcePath.empty())
- ModuleSourceMapper[R.Provides->ModuleName] = R.Provides->SourcePath;
-
- for (P1689Rule &R : Rules) {
- for (P1689ModuleInfo &Info : R.Requires) {
- auto Iter = ModuleSourceMapper.find(Info.ModuleName);
- if (Iter != ModuleSourceMapper.end())
- Info.SourcePath = Iter->second;
- }
- }
- }
-
- std::vector<P1689Rule> Rules;
-};
-
-static bool
-handleP1689DependencyToolResult(const std::string &Input,
- llvm::Expected<P1689Rule> &MaybeRule,
- P1689Deps &PD, SharedStream &Errs) {
- if (!MaybeRule) {
- llvm::handleAllErrors(
- MaybeRule.takeError(), [&Input, &Errs](llvm::StringError &Err) {
- Errs.applyLocked([&](raw_ostream &OS) {
- OS << "Error while scanning dependencies for " << Input << ":\n";
- OS << Err.getMessage();
- });
- });
- return true;
- }
- PD.addRules(*MaybeRule);
- return false;
-}
-
/// Construct a path for the explicitly built PCM.
static std::string constructPCMPath(ModuleID MID, StringRef OutputDir) {
SmallString<256> ExplicitPCMPath(OutputDir);
@@ -683,7 +598,6 @@ int main(int argc, const char **argv) {
std::atomic<bool> HadErrors(false);
FullDeps FD;
- P1689Deps PD;
std::mutex Lock;
size_t Index = 0;
@@ -692,7 +606,7 @@ int main(int argc, const char **argv) {
<< " files using " << Pool.getThreadCount() << " workers\n";
}
for (unsigned I = 0; I < Pool.getThreadCount(); ++I) {
- Pool.async([I, &Lock, &Index, &Inputs, &HadErrors, &FD, &PD, &WorkerTools,
+ Pool.async([I, &Lock, &Index, &Inputs, &HadErrors, &FD, &WorkerTools,
&DependencyOS, &Errs]() {
llvm::StringSet<> AlreadySeenModules;
while (true) {
@@ -728,11 +642,6 @@ int main(int argc, const char **argv) {
if (handleMakeDependencyToolResult(Filename, MaybeFile, DependencyOS,
Errs))
HadErrors = true;
- } else if (Format == ScanningOutputFormat::P1689) {
- auto MaybeRule =
- WorkerTools[I]->getP1689ModuleDependencyFile(*Input, CWD);
- if (handleP1689DependencyToolResult(Filename, MaybeRule, PD, Errs))
- HadErrors = true;
} else if (MaybeModuleName) {
auto MaybeModuleDepsGraph = WorkerTools[I]->getModuleDependencies(
*MaybeModuleName, Input->CommandLine, CWD, AlreadySeenModules,
@@ -758,8 +667,6 @@ int main(int argc, const char **argv) {
if (Format == ScanningOutputFormat::Full)
FD.printFullOutput(llvm::outs());
- else if (Format == ScanningOutputFormat::P1689)
- PD.printDependencies(llvm::outs());
return HadErrors;
}
More information about the cfe-commits
mailing list