PR driver/69779: fix bogus cleanup code used by libgccjit affecting s390x

gcc/ChangeLog:
	PR driver/69779
	* gcc.c (driver::finalize): Fix cleanup of "specs".

From-SVN: r233385
This commit is contained in:
David Malcolm 2016-02-12 18:37:35 +00:00 committed by David Malcolm
parent 61789eedf8
commit 8dccd19b3b
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2016-02-12 David Malcolm <dmalcolm@redhat.com>
PR driver/69779
* gcc.c (driver::finalize): Fix cleanup of "specs".
2016-02-12 David Malcolm <dmalcolm@redhat.com>
PR driver/69265

View File

@ -9954,8 +9954,20 @@ driver::finalize ()
multilib_os_dir = 0;
multiarch_dir = 0;
XDELETEVEC (specs);
specs = 0;
/* Free any specs dynamically-allocated by set_spec.
These will be at the head of the list, before the
statically-allocated ones. */
if (specs)
{
while (specs != static_specs)
{
spec_list *next = specs->next;
free (const_cast <char *> (specs->name));
XDELETE (specs);
specs = next;
}
specs = 0;
}
for (unsigned i = 0; i < ARRAY_SIZE (static_specs); i++)
{
spec_list *sl = &static_specs[i];