aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog8
-rw-r--r--gcc/fortran/parse.c4
-rw-r--r--gcc/fortran/symbol.c2
3 files changed, 13 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index bf7d4d1..1bc2a1f 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 989d644..94440e9 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 e713cd8..0231da1 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;