diff options
| author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-16 14:36:54 +0000 |
|---|---|---|
| committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-12-16 14:36:54 +0000 |
| commit | fca77fae8082f229e346cb5b491d3b8395079718 (patch) | |
| tree | 567b287d9b44e73b0b57dda1f6e71b362c29a562 | |
| parent | c87bf31f901bc8c8c5847f1218e0155de60004eb (diff) | |
| download | ppe42-gcc-fca77fae8082f229e346cb5b491d3b8395079718.tar.gz ppe42-gcc-fca77fae8082f229e346cb5b491d3b8395079718.zip | |
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
| -rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/fortran/module.c | 6 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90 | 11 |
4 files changed, 26 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1deb94d3937..7202632cb70 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 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> + * trans-intrinsic.c (conv_intrinsic_move_alloc): Set dynamic type of the FROM variable to the declared type. diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index 16ea97b72cd..cde57390c37 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; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f6503b094da..5276ca7d25e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2012-12-16 Tobias Burnus <burnus@net-b.de> + PR fortran/55197 + * gfortran.dg/gomp/use_intrinsic_1.f90: New. + +2012-12-16 Tobias Burnus <burnus@net-b.de> + * gfortran.dg/move_alloc_14.f90: New. 2012-12-16 Tobias Burnus <burnus@net-b.de> diff --git a/gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90 b/gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90 new file mode 100644 index 00000000000..5996350301b --- /dev/null +++ b/gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90 @@ -0,0 +1,11 @@ +! { dg-do compile } +! +! PR fortran/55197 +! +! 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 |

