diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-12-16 15:36:54 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-12-16 15:36:54 +0100 |
commit | df0b360e3e82962e7b5e805c130a38593b646a80 (patch) | |
tree | 567b287d9b44e73b0b57dda1f6e71b362c29a562 /gcc/fortran/module.c | |
parent | f6c28ef193ad29a9eccb01db78efd5aca26ae787 (diff) | |
download | gcc-df0b360e3e82962e7b5e805c130a38593b646a80.zip gcc-df0b360e3e82962e7b5e805c130a38593b646a80.tar.gz gcc-df0b360e3e82962e7b5e805c130a38593b646a80.tar.bz2 |
re PR fortran/55197 (Use statement for omp_lib causes ICE)
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.
From-SVN: r194537
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r-- | gcc/fortran/module.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index 16ea97b..cde5739 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; |