diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bf7d4d19463e1c62dc9d6f00c051cf4106a2ac0b..1bc2a1fa2af754956585b8cfd8ae7897b109f256 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 989d6448b3bdcdea7b655f7d67727d5060dae771..94440e984576280550b5d86c97823ae6c889c2aa 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 e713cd83192e563f59fca0064db7b4980ae26062..0231da110fe357847216d1d0eab711a413f891ad 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;