Handle empty outputs in WriteInputDepsStampOrPhonyAndGetDep This is to fix https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/2437645/overview Bug: 40440396 Change-Id: Idaafb33451adb3221ec1d18f76c3c8ebe086e3e1 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/19700 Reviewed-by: David Turner <digit@google.com> Commit-Queue: Takuto Ikuta <tikuta@google.com>
diff --git a/src/gn/ninja_target_writer.cc b/src/gn/ninja_target_writer.cc index 01a1407..1bbe31e 100644 --- a/src/gn/ninja_target_writer.cc +++ b/src/gn/ninja_target_writer.cc
@@ -545,12 +545,16 @@ if (num_output_uses == 1u) return outs; + // If outs is empty, we don't need stamp or phony target for this. + if (outs.empty()) { + return outs; + } + OutputFile input_stamp_or_phony; std::string tool; if (settings_->build_settings()->no_stamp_files()) { // Make a phony target. We don't need to worry about an empty phony target, // as we would return early if there were no inputs. - CHECK(!outs.empty()); input_stamp_or_phony = GetBuildDirForTargetAsOutputFile(target_, BuildDirType::PHONY); input_stamp_or_phony.value().append(target_->label().name());