Hello world,
I have just committed the attached patch as obvious. No test case,
the function is only supposed to be called when debugging the
compiler itself.
Regards
Thomas
2016-11-14 Thomas Koenig <[email protected]>
* dump-parse-tree.c (show_code): Add prototype.
(gfc_debug_code): New function.
(show_code_node): Add space after SELECT TYPE.
Index: dump-parse-tree.c
===================================================================
--- dump-parse-tree.c (Revision 242335)
+++ dump-parse-tree.c (Arbeitskopie)
@@ -47,6 +47,7 @@ static FILE *dumpfile;
static void show_expr (gfc_expr *p);
static void show_code_node (int, gfc_code *);
static void show_namespace (gfc_namespace *ns);
+static void show_code (int, gfc_code *);
/* Allow dumping of an expression in the debugger. */
@@ -62,7 +63,19 @@ gfc_debug_expr (gfc_expr *e)
dumpfile = tmp;
}
+/* Allow for dumping of a piece of code in the debugger. */
+void gfc_debug_code (gfc_code *c);
+void
+gfc_debug_code (gfc_code *c)
+{
+ FILE *tmp = dumpfile;
+ dumpfile = stderr;
+ show_code (1, c);
+ fputc ('\n', dumpfile);
+ dumpfile = tmp;
+}
+
/* Do indentation for a specific level. */
static inline void
@@ -1987,7 +2000,7 @@ show_code_node (int level, gfc_code *c)
case EXEC_SELECT_TYPE:
d = c->block;
if (c->op == EXEC_SELECT_TYPE)
- fputs ("SELECT TYPE", dumpfile);
+ fputs ("SELECT TYPE ", dumpfile);
else
fputs ("SELECT CASE ", dumpfile);
show_expr (c->expr1);