From 951d634180a28c7c29eabedf1dc2348835708b5e Mon Sep 17 00:00:00 2001 From: Mikael Morin <mikael@gcc.gnu.org> Date: Sat, 31 Jul 2010 10:27:36 +0000 Subject: [PATCH] re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument) 2010-07-31 Mikael Morin <mikael@gcc.gnu.org> PR fortran/42051 PR fortran/44064 * symbol.c (changed_syms): Made non-static. * parse.c (changed_syms): Declare new external. (next_statement): Assert changed_syms is NULL at the beginning. From-SVN: r162776 --- gcc/fortran/ChangeLog | 8 ++++++++ gcc/fortran/parse.c | 4 ++++ gcc/fortran/symbol.c | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bf7d4d19463e..1bc2a1fa2af7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2010-07-31 Mikael Morin <mikael@gcc.gnu.org> + + PR fortran/42051 + PR fortran/44064 + * symbol.c (changed_syms): Made non-static. + * parse.c (changed_syms): Declare new external. + (next_statement): Assert changed_syms is NULL at the beginning. + 2010-07-30 Janus Weil <janus@gcc.gnu.org> Steven G. Kargl <kargl@gcc.gnu.org> diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index 989d6448b3bd..94440e984576 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -879,6 +879,7 @@ blank_line: return ST_NONE; } +extern gfc_symbol *changed_syms; /* Return the next non-ST_NONE statement to the caller. We also worry about including files and the ends of include files at this stage. */ @@ -889,6 +890,9 @@ next_statement (void) gfc_statement st; locus old_locus; + /* We start with a clean state. */ + gcc_assert (changed_syms == NULL); + gfc_new_block = NULL; gfc_current_ns->old_cl_list = gfc_current_ns->cl_list; diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c index e713cd83192e..0231da110fe3 100644 --- a/gcc/fortran/symbol.c +++ b/gcc/fortran/symbol.c @@ -98,7 +98,7 @@ gfc_namespace *gfc_global_ns_list; gfc_gsymbol *gfc_gsym_root = NULL; -static gfc_symbol *changed_syms = NULL; +gfc_symbol *changed_syms = NULL; gfc_dt_list *gfc_derived_types; -- GitLab