tra added a comment. OK. I'm going to land it then.
================ Comment at: clang/lib/Driver/Driver.cpp:4396-4398 + bool SingleDeviceOutput = !llvm::any_of(OffloadActions, [](Action *A) { + return A->getType() == types::TY_Nothing; + }) && isa<CompileJobAction>(HostAction); ---------------- `any_of(A->getType() == types::TY_Nothing)` looks like a rather indirect way to infer that we have `-fsyntax-only`. Would there be any other legitimate case when we'd have `Ty_Nothing` actions? ================ Comment at: clang/lib/Driver/Driver.cpp:4402 /*BoundArch=*/nullptr, isa<CompileJobAction>(HostAction) ? DDep : DDeps); - return C.MakeAction<OffloadAction>( - HDep, isa<CompileJobAction>(HostAction) ? DDep : DDeps); + return C.MakeAction<OffloadAction>(HDep, SingleDeviceOutput ? DDep : DDeps); } ---------------- Assuming that we're guaranteed that all actions produce no outputs, can we just pass an empty array if `-fsyntax-only` is specified? ================ Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4503 for (const InputInfo &I : Inputs) { - if (&I == &Input) { - // This is the primary input. + if (&I == &Input || I.getType() == types::TY_Nothing) { + // This is the primary input or contains nothing. ---------------- .. and if we don't propagate no-output actions, there would be no need to filter them here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133161/new/ https://reviews.llvm.org/D133161 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits