aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/dump-parse-tree.c
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2016-11-14 18:15:36 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2016-11-14 18:15:36 +0000
commitd32e1fd8b9e1263d50bb697e40d4d92ece54c439 (patch)
tree124f444a6881115fbf61e6aafe6dc4f539632515 /gcc/fortran/dump-parse-tree.c
parentd809e15a19e634932e93254142dc6ab1e226f45e (diff)
downloadgcc-d32e1fd8b9e1263d50bb697e40d4d92ece54c439.zip
gcc-d32e1fd8b9e1263d50bb697e40d4d92ece54c439.tar.gz
gcc-d32e1fd8b9e1263d50bb697e40d4d92ece54c439.tar.bz2
dump-parse-tree.c (show_code): Add prototype.
2016-11-14 Thomas Koenig <tkoenig@gcc.gnu.org> * dump-parse-tree.c (show_code): Add prototype. (gfc_debug_code): New function. (show_code_node): Add space after SELECT TYPE. From-SVN: r242393
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
-rw-r--r--gcc/fortran/dump-parse-tree.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index ff47f3f..585f25d 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -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,6 +63,18 @@ 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. */
@@ -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);