aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2010-12-03 12:23:11 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2010-12-03 12:23:11 +0000
commit3609dfbf133eede9097ed5019563a617a9d2e207 (patch)
treebcf01bc565c06d93e46958cf1708ca7007b7da55 /gcc
parent753de8cffaad47947ea7c04a6c91e1e842a7af1c (diff)
downloadgcc-3609dfbf133eede9097ed5019563a617a9d2e207.zip
gcc-3609dfbf133eede9097ed5019563a617a9d2e207.tar.gz
gcc-3609dfbf133eede9097ed5019563a617a9d2e207.tar.bz2
re PR fortran/44352 (ICE in string_to_single_character)
2010-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/44352 * dump-parse-tree.c (show_symbol): Don't show formal namespace for statement functions in order to avoid infinite recursion. From-SVN: r167416
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/dump-parse-tree.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2c3ce54..99c82d2 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,11 @@
2010-12-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+ PR fortran/44352
+ * dump-parse-tree.c (show_symbol): Don't show formal namespace
+ for statement functions in order to avoid infinite recursion.
+
+2010-12-03 Thomas Koenig <tkoenig@gcc.gnu.org>
+
PR fortran/45159
* dependency.c (check_section_vs_section): Pre-calculate
the relationship between the strides and the relationship
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 41af932..c237fe6 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -889,7 +889,8 @@ show_symbol (gfc_symbol *sym)
}
}
- if (sym->formal_ns && (sym->formal_ns->proc_name != sym))
+ if (sym->formal_ns && (sym->formal_ns->proc_name != sym)
+ && sym->attr.proc != PROC_ST_FUNCTION)
{
show_indent ();
fputs ("Formal namespace", dumpfile);