Commit 11d10d3f authored by neil's avatar neil
Browse files

* cppinit.c (cpp_cleanup): Free include dir chains.

	* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
	(do_unassert): Free the assert with _cpp_free_definition.
	* cppmacro.c (_cpp_free_definition): Free memory allocated for
	assertions.  Make the node a T_VOID node.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35765 138bc75d-0d04-0410-961f-82ee72b054a4
parent 466b3f58
2000-08-17 Neil Booth <NeilB@earthling.net>
* cppinit.c (cpp_cleanup): Free include dir chains.
* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
(do_unassert): Free the assert with _cpp_free_definition.
* cppmacro.c (_cpp_free_definition): Free memory allocated for
assertions. Make the node a T_VOID node.
2000-08-17 Neil Booth <NeilB@earthling.net>
* cppinit.c (path_include, append_include_chain):
......
......@@ -467,6 +467,8 @@ void
cpp_cleanup (pfile)
cpp_reader *pfile;
{
struct file_name_list *dir, *next;
while (CPP_BUFFER (pfile) != NULL)
cpp_pop_buffer (pfile);
......@@ -480,6 +482,13 @@ cpp_cleanup (pfile)
_cpp_cleanup_includes (pfile);
_cpp_cleanup_stacks (pfile);
_cpp_cleanup_macros (pfile);
for (dir = CPP_OPTION (pfile, quote_include); dir; dir = next)
{
next = dir->next;
free (dir->name);
free (dir);
}
}
......
......@@ -298,7 +298,6 @@ do_undef (pfile)
cpp_warning (pfile, "undefining \"%s\"", node->name);
_cpp_free_definition (node);
node->type = T_VOID;
}
}
......@@ -1369,14 +1368,7 @@ do_unassert (pfile)
node->type = T_VOID;
}
else
{
for (temp = node->value.answers; temp; temp = next)
{
next = temp->next;
FREE_ANSWER (temp);
}
node->type = T_VOID;
}
_cpp_free_definition (node);
}
if (answer)
......
......@@ -404,6 +404,18 @@ _cpp_free_definition (h)
{
if (h->type == T_MACRO)
free ((PTR) h->value.expansion);
else if (h->type == T_ASSERTION)
{
struct answer *temp, *next;
for (temp = h->value.answers; temp; temp = next)
{
next = temp->next;
FREE_ANSWER (temp);
}
}
h->type = T_VOID;
h->value.expansion = NULL;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment