diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-06-16 08:34:31 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-06-16 08:34:31 +0000 |
commit | 2d86d75105f6d2341ffec8bd78b4de972376d424 (patch) | |
tree | 68adb4d224ef6a73c5e51a7a005d16bc4710d803 /gcc | |
parent | 5767d76f8f1ee56b68e794ccb65a720a8a3581c7 (diff) | |
download | gcc-2d86d75105f6d2341ffec8bd78b4de972376d424.tar.gz |
dump_parse_tree (debug): Add verison for formal arglist.
2019-06-16 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump_parse_tree (debug): Add verison for formal arglist.
Do not crash when a gfc_expr is NULL.
From-SVN: r272353
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/dump-parse-tree.c | 25 |
2 files changed, 27 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 921a6fca551..d30fa2e50a8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2019-06-16 Thomas Koenig <tkoenig@gcc.gnu.org> + + * dump_parse_tree (debug): Add verison for formal arglist. + Do not crash when a gfc_expr is NULL. + 2019-06-15 Steven G. Kargl <kargl@gcc.gnu.org> * decl.c (gfc_match_derived_decl): Dummy argument cannot be a derived diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c index 41b2c88265c..4cff8059b73 100644 --- a/gcc/fortran/dump-parse-tree.c +++ b/gcc/fortran/dump-parse-tree.c @@ -66,6 +66,19 @@ void debug (symbol_attribute *attr) dumpfile = tmp; } +void debug (gfc_formal_arglist *formal) +{ + FILE *tmp = dumpfile; + dumpfile = stderr; + for (; formal; formal = formal->next) + { + fputc ('\n', dumpfile); + show_symbol (formal->sym); + } + fputc ('\n', dumpfile); + dumpfile = tmp; +} + void debug (symbol_attribute attr) { debug (&attr); @@ -75,9 +88,15 @@ void debug (gfc_expr *e) { FILE *tmp = dumpfile; dumpfile = stderr; - show_expr (e); - fputc (' ', dumpfile); - show_typespec (&e->ts); + if (e != NULL) + { + show_expr (e); + fputc (' ', dumpfile); + show_typespec (&e->ts); + } + else + fputs ("() ", dumpfile); + fputc ('\n', dumpfile); dumpfile = tmp; } |