summaryrefslogtreecommitdiff
path: root/gcc/print-rtl.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/print-rtl.c')
-rw-r--r--gcc/print-rtl.c15
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;