From: Mikael Morin Date: Wed, 6 Oct 2010 15:25:51 +0000 (+0000) Subject: symbol.c (free_entry_list): New function. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1b02e40106a10a241a3753ffeeac2acfd21772fb;p=gcc.git symbol.c (free_entry_list): New function. 2010-10-06 Mikael Morin * symbol.c (free_entry_list): New function. (gfc_free_namespace): Free list of entries. From-SVN: r165038 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 97df7a5b48e..80b013f7c74 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-10-06 Mikael Morin + + * symbol.c (free_entry_list): New function. + (gfc_free_namespace): Free list of entries. + 2010-10-06 Mikael Morin * symbol.c (free_components): Free list of formal args and formal diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index b06afe44f3c..b900bc19725 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -3255,6 +3255,22 @@ void gfc_free_charlen (gfc_charlen *cl, gfc_charlen *end) } +/* Free entry list structs. */ + +static void +free_entry_list (gfc_entry_list *el) +{ + gfc_entry_list *next; + + if (el == NULL) + return; + + next = el->next; + gfc_free (el); + free_entry_list (next); +} + + /* Free a namespace structure and everything below it. Interface lists associated with intrinsic operators are not freed. These are taken care of when a specific name is freed. */ @@ -3284,6 +3300,7 @@ gfc_free_namespace (gfc_namespace *ns) gfc_free_charlen (ns->cl_list, NULL); free_st_labels (ns->st_labels); + free_entry_list (ns->entries); gfc_free_equiv (ns->equiv); gfc_free_equiv_lists (ns->equiv_lists); gfc_free_use_stmts (ns->use_stmts);