* gold.cc (queue_middle_tasks): If no input files were opened,

exit.
	* workqueue.h (Task_function::Task_function): Assert that there is
	a blocker.
This commit is contained in:
Ian Lance Taylor 2010-02-23 17:42:26 +00:00
parent e707a91d99
commit 135b9c78b2
3 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,11 @@
2010-02-23 Viktor Kutuzov <vkutuzov@accesssoftek.com>
Ian Lance Taylor <iant@google.com>
* gold.cc (queue_middle_tasks): If no input files were opened,
exit.
* workqueue.h (Task_function::Task_function): Assert that there is
a blocker.
2010-02-22 Doug Kwan <dougkwan@google.com>
* gold-threads.h (Once::~Once): Explicitly define virtual destructor.

View File

@ -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

View File

@ -152,7 +152,7 @@ class Task_function : public Task
Task_function(Task_function_runner* runner, Task_token* blocker,
const char* name)
: runner_(runner), blocker_(blocker), name_(name)
{ }
{ gold_assert(blocker != NULL); }
~Task_function()
{