summaryrefslogtreecommitdiff
path: root/gcc/fortran/dump-parse-tree.c
diff options
context:
space:
mode:
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-28 22:24:27 +0000
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-28 22:24:27 +0000
commit841e58fefd410d50cc6dfd67542ff39b5a145f16 (patch)
treee0d6a27165e9fdf9ed69ee0bf85e4f52e91e1d90 /gcc/fortran/dump-parse-tree.c
parent9fa1c2ea544c14d79808d7bab938a945d9715885 (diff)
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
* dump-parse-tree.c (show_code_node): Print association list of a block if present. Handle EXEC_END_BLOCK. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233796 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
-rw-r--r--gcc/fortran/dump-parse-tree.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index c96133f0e814..8d50d75fcf65 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1773,6 +1773,7 @@ show_code_node (int level, gfc_code *c)
{
const char* blocktype;
gfc_namespace *saved_ns;
+ gfc_association_list *alist;
if (c->ext.block.assoc)
blocktype = "ASSOCIATE";
@@ -1780,6 +1781,12 @@ show_code_node (int level, gfc_code *c)
blocktype = "BLOCK";
show_indent ();
fprintf (dumpfile, "%s ", blocktype);
+ for (alist = c->ext.block.assoc; alist; alist = alist->next)
+ {
+ fprintf (dumpfile, " %s = ", alist->name);
+ show_expr (alist->target);
+ }
+
++show_level;
ns = c->ext.block.ns;
saved_ns = gfc_current_ns;
@@ -1793,6 +1800,11 @@ show_code_node (int level, gfc_code *c)
break;
}
+ case EXEC_END_BLOCK:
+ /* Only come here when there is a label on an
+ END ASSOCIATE construct. */
+ break;
+
case EXEC_SELECT:
d = c->block;
fputs ("SELECT CASE ", dumpfile);