2012-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/55343
* module.c (gfc_use_module): Free rename list only for
internally generated intrinsic modules.
2012-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/55343
* gfortran.dg/gomp/use_intrinsic_1.f90: New.
@@ -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;
new file mode 100644
@@ -0,0 +1,11 @@
+! { dg-do compile }
+!
+! PR fortran/55343
+!
+! Contributed by Erik Toussaint
+!
+
+use, intrinsic :: omp_lib, only: omp_get_num_threads
+use, intrinsic :: omp_lib_kinds , foo => omp_lock_kind
+print *, foo
+end