commit | ee5b7e32b961a9da1933e9f46a018ba6cac8ef60 | [log] [tgz] |
---|---|---|
author | Takuto Ikuta <tikuta@google.com> | Wed Aug 13 00:56:09 2025 +0900 |
committer | GN LUCI <gn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Aug 12 18:18:54 2025 -0700 |
tree | d03fc2c851eff064d0b2920fbc89ae83f8d217c2 | |
parent | c15bfa41e5266dcce4161968ab4eb0387cae7a7a [diff] |
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());