aboutsummaryrefslogtreecommitdiff
path: root/gold/gold.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2010-02-23 17:42:26 +0000
committerIan Lance Taylor <ian@airs.com>2010-02-23 17:42:26 +0000
commit135b9c78b2e0da945e37dcd9e1206c6715854d44 (patch)
tree80ab95ab9ff4f534a4550257ffbbdef7a1a95cb7 /gold/gold.cc
parente707a91d99f5c250c14bf5b9d8fdac0358bb2693 (diff)
downloadgdb-135b9c78b2e0da945e37dcd9e1206c6715854d44.zip
gdb-135b9c78b2e0da945e37dcd9e1206c6715854d44.tar.gz
gdb-135b9c78b2e0da945e37dcd9e1206c6715854d44.tar.bz2
* gold.cc (queue_middle_tasks): If no input files were opened,
exit. * workqueue.h (Task_function::Task_function): Assert that there is a blocker.
Diffstat (limited to 'gold/gold.cc')
-rw-r--r--gold/gold.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gold/gold.cc b/gold/gold.cc
index 275d0f9..5450573 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -532,6 +532,15 @@ queue_middle_tasks(const General_options& options,
}
}
+ // If we failed to open any input files, it's possible for
+ // THIS_BLOCKER to be NULL here. There's no real point in
+ // continuing if that happens.
+ if (this_blocker == NULL)
+ {
+ gold_assert(parameters->errors()->error_count() > 0);
+ gold_exit(false);
+ }
+
// When all those tasks are complete, we can start laying out the
// output file.
// TODO(csilvers): figure out a more principled way to get the target