From 170ef681462e82575977abc2fe8b479b9db7668a Mon Sep 17 00:00:00 2001 From: mikael Date: Wed, 6 Oct 2010 15:25:51 +0000 Subject: [PATCH] 2010-10-06 Mikael Morin * symbol.c (free_entry_list): New function. (gfc_free_namespace): Free list of entries. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165038 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/symbol.c | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 97df7a5..80b013f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 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 namespace. diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index b06afe4..b900bc1 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); -- 2.7.4