From 44c57c2f9049c9fa53817b71110cf0cee00675b6 Mon Sep 17 00:00:00 2001 From: Mikael Morin Date: Fri, 10 Apr 2015 11:29:53 +0000 Subject: re PR fortran/56674 (ICE in check_sym_interfaces) PR fortran/56674 PR fortran/58813 PR fortran/59016 PR fortran/59024 fortran/ * symbol.c (save_symbol_data, gfc_save_symbol_data): Rename the former to the latter and make it non-static. Update callers. * gfortran.h (gfc_save_symbol_data): New prototype. * decl.c (gfc_match_decl_type_spec): Call 'gfc_save_symbol_data' before modifying symbols 'sym' and 'dt_sym'. testsuite/ * gfortran.dg/used_types_27.f90: New. From-SVN: r221972 --- gcc/fortran/symbol.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/fortran/symbol.c') diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index 32eea21..44392e8 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -2758,8 +2758,8 @@ single_undo_checkpoint_p (void) /* Save symbol with the information necessary to back it out. */ -static void -save_symbol_data (gfc_symbol *sym) +void +gfc_save_symbol_data (gfc_symbol *sym) { gfc_symbol *s; unsigned i; @@ -2860,7 +2860,7 @@ gfc_get_sym_tree (const char *name, gfc_namespace *ns, gfc_symtree **result, p->mark = 1; /* Copy in case this symbol is changed. */ - save_symbol_data (p); + gfc_save_symbol_data (p); } *result = st; @@ -2899,7 +2899,7 @@ gfc_get_ha_sym_tree (const char *name, gfc_symtree **result) if (st != NULL) { - save_symbol_data (st->n.sym); + gfc_save_symbol_data (st->n.sym); *result = st; return i; } -- cgit v1.1