summaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-16 14:36:54 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2012-12-16 14:36:54 +0000
commitfca77fae8082f229e346cb5b491d3b8395079718 (patch)
tree567b287d9b44e73b0b57dda1f6e71b362c29a562 /gcc/fortran/module.c
parentc87bf31f901bc8c8c5847f1218e0155de60004eb (diff)
2012-12-16 Tobias Burnus <burnus@net-b.de>
PR fortran/55197 * module.c (gfc_use_module): Free rename list only for internally generated intrinsic modules. 2012-12-16 Tobias Burnus <burnus@net-b.de> PR fortran/55197 * gfortran.dg/gomp/use_intrinsic_1.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194537 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 16ea97b72cd2..cde57390c37b 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -6157,6 +6157,8 @@ gfc_use_module (gfc_use_list *module)
"intrinsic module at %C") != FAILURE)
{
use_iso_fortran_env_module ();
+ free_rename (module->rename);
+ module->rename = NULL;
gfc_current_locus = old_locus;
module->intrinsic = true;
return;
@@ -6167,6 +6169,8 @@ gfc_use_module (gfc_use_list *module)
"ISO_C_BINDING module at %C") != FAILURE)
{
import_iso_c_binding_module();
+ free_rename (module->rename);
+ module->rename = NULL;
gfc_current_locus = old_locus;
module->intrinsic = true;
return;
@@ -6359,8 +6363,6 @@ gfc_use_modules (void)
next = module_list->next;
rename_list_remove_duplicate (module_list->rename);
gfc_use_module (module_list);
- if (module_list->intrinsic)
- free_rename (module_list->rename);
free (module_list);
}
gfc_rename_list = NULL;