diff options
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r-- | gcc/print-rtl.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/print-rtl.c b/gcc/print-rtl.c index 1c4e6f312a2..aca67008502 100644 --- a/gcc/print-rtl.c +++ b/gcc/print-rtl.c @@ -163,16 +163,25 @@ print_rtx (in_rtx) for (; i < GET_RTX_LENGTH (GET_CODE (in_rtx)); i++) switch (*format_ptr++) { + const char *str; + + case 'T': + str = XTMPL (in_rtx, i); + goto string; + case 'S': case 's': - if (XSTR (in_rtx, i) == 0) + str = XSTR (in_rtx, i); + string: + + if (str == 0) fputs (dump_for_graph ? " \\\"\\\"" : " \"\"", outfile); else { if (dump_for_graph) - fprintf (outfile, " (\\\"%s\\\")", XSTR (in_rtx, i)); + fprintf (outfile, " (\\\"%s\\\")", str); else - fprintf (outfile, " (\"%s\")", XSTR (in_rtx, i)); + fprintf (outfile, " (\"%s\")", str); } sawclose = 1; break; |