aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/dump-parse-tree.c15
2 files changed, 20 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 6c0ede1..cf16e1a 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+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.
+
2016-11-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/78300
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);