aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/symbol.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2006-12-09 20:52:27 +0000
committerPaul Thomas <pault@gcc.gnu.org>2006-12-09 20:52:27 +0000
commit1027275d2e6e9c34d1703406111ca2d7cab150dc (patch)
treee1bb0983bc4f7aef81f313ba20585da56a4b546a /gcc/fortran/symbol.c
parent4d4074e415dbf2029f49bef9fe48ed79c8c5a106 (diff)
downloadgcc-1027275d2e6e9c34d1703406111ca2d7cab150dc.zip
gcc-1027275d2e6e9c34d1703406111ca2d7cab150dc.tar.gz
gcc-1027275d2e6e9c34d1703406111ca2d7cab150dc.tar.bz2
re PR fortran/29464 ([4.1 only] problem with duplicate USE, ONLY of procedure in INTERFACE)
2006-11-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/29464 * module.c (load_generic_interfaces): Add symbols for all the local names of an interface. Share the interface amongst the symbols. * gfortran.h : Add generic_copy to symbol_attribute. * symbol.c (free_symbol): Only free interface if generic_copy is not set. 2006-11-25 Paul Thomas <pault@gcc.gnu.org> PR fortran/29464 * gfortran.dg/module_interface_2.f90: New test. From-SVN: r119696
Diffstat (limited to 'gcc/fortran/symbol.c')
-rw-r--r--gcc/fortran/symbol.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index 228567b..7cb5e76 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -1971,7 +1971,8 @@ gfc_free_symbol (gfc_symbol * sym)
gfc_free_namespace (sym->formal_ns);
- gfc_free_interface (sym->generic);
+ if (!sym->attr.generic_copy)
+ gfc_free_interface (sym->generic);
gfc_free_formal_arglist (sym->formal);