dump-parse-tree.c (show_symbol): Dump target-expression for associate names.

2010-06-27  Daniel Kraft  <d@domob.eu>

	* dump-parse-tree.c (show_symbol): Dump target-expression for
	associate names.
	(show_code_node): Make distinction between BLOCK and ASSOCIATE.
	(show_namespace): Use show_level for correct indentation of
	"inner namespaces" (contained procedures or BLOCK).

From-SVN: r161460
This commit is contained in:
Daniel Kraft 2010-06-27 10:40:40 +02:00 committed by Daniel Kraft
parent 11af16ef2c
commit 7ed979b918
2 changed files with 32 additions and 8 deletions

View File

@ -1,3 +1,11 @@
2010-06-27 Daniel Kraft <d@domob.eu>
* dump-parse-tree.c (show_symbol): Dump target-expression for
associate names.
(show_code_node): Make distinction between BLOCK and ASSOCIATE.
(show_namespace): Use show_level for correct indentation of
"inner namespaces" (contained procedures or BLOCK).
2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/44678

View File

@ -796,6 +796,15 @@ show_symbol (gfc_symbol *sym)
fprintf (dumpfile, "symbol %s ", sym->name);
show_typespec (&sym->ts);
/* If this symbol is an associate-name, show its target expression. */
if (sym->assoc)
{
fputs (" => ", dumpfile);
show_expr (sym->assoc->target);
fputs (" ", dumpfile);
}
show_attr (&sym->attr);
if (sym->value)
@ -1378,13 +1387,20 @@ show_code_node (int level, gfc_code *c)
break;
case EXEC_BLOCK:
show_indent ();
fputs ("BLOCK ", dumpfile);
ns = c->ext.block.ns;
show_namespace (ns);
show_indent ();
fputs ("END BLOCK ", dumpfile);
break;
{
const char* blocktype;
if (c->ext.block.assoc)
blocktype = "ASSOCIATE";
else
blocktype = "BLOCK";
show_indent ();
fprintf (dumpfile, "%s ", blocktype);
ns = c->ext.block.ns;
show_namespace (ns);
show_indent ();
fprintf (dumpfile, "END %s ", blocktype);
break;
}
case EXEC_SELECT:
d = c->block;
@ -2156,7 +2172,7 @@ show_namespace (gfc_namespace *ns)
fputc ('\n', dumpfile);
fputc ('\n', dumpfile);
show_code (0, ns->code);
show_code (show_level, ns->code);
for (ns = ns->contained; ns; ns = ns->sibling)
{