Index: tools/gn/target_generator.cc |
diff --git a/tools/gn/target_generator.cc b/tools/gn/target_generator.cc |
index a763a31e305ea8fda1c5ceeccf2ffb27f4694d63..5a7078cfb13cad3414b266eb6b04ff26d5aadc4c 100644 |
--- a/tools/gn/target_generator.cc |
+++ b/tools/gn/target_generator.cc |
@@ -37,8 +37,19 @@ TargetGenerator::~TargetGenerator() { |
void TargetGenerator::Run() { |
// All target types use these. |
FillDependentConfigs(); |
+ if (err_->has_error()) |
+ return; |
+ |
FillData(); |
+ if (err_->has_error()) |
+ return; |
+ |
FillDependencies(); |
+ if (err_->has_error()) |
+ return; |
+ |
+ if (!Visibility::FillItemVisibility(target_, scope_, err_)) |
+ return; |
// Do type-specific generation. |
DoRun(); |
@@ -163,11 +174,17 @@ void TargetGenerator::FillData() { |
void TargetGenerator::FillDependencies() { |
FillGenericDeps(variables::kDeps, &target_->deps()); |
+ if (err_->has_error()) |
+ return; |
FillGenericDeps(variables::kDatadeps, &target_->datadeps()); |
+ if (err_->has_error()) |
+ return; |
// This is a list of dependent targets to have their configs fowarded, so |
// it goes here rather than in FillConfigs. |
FillForwardDependentConfigs(); |
+ if (err_->has_error()) |
+ return; |
FillHardDep(); |
} |