diff options
author | mikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-06 15:25:51 +0000 |
---|---|---|
committer | mikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-06 15:25:51 +0000 |
commit | 170ef681462e82575977abc2fe8b479b9db7668a (patch) | |
tree | 447c9d5d27d6b7b119372fb373e2816de15c88a6 /gcc/fortran | |
parent | d03b222bfcdf97746d32bdaffdd1af5215bdeea0 (diff) | |
download | gcc-170ef681462e82575977abc2fe8b479b9db7668a.tar.gz |
2010-10-06 Mikael Morin <mikael@gcc.gnu.org>
* 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
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/symbol.c | 17 |
2 files changed, 22 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 97df7a5b48e..80b013f7c74 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> + * symbol.c (free_entry_list): New function. + (gfc_free_namespace): Free list of entries. + +2010-10-06 Mikael Morin <mikael@gcc.gnu.org> + * 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 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); |