aboutsummaryrefslogtreecommitdiff
path: root/gcc/genoutput.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/genoutput.c')
-rw-r--r--gcc/genoutput.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/genoutput.c b/gcc/genoutput.c
index 797f3d20835..57a9028aee8 100644
--- a/gcc/genoutput.c
+++ b/gcc/genoutput.c
@@ -352,7 +352,22 @@ output_insn_data ()
printf (" 0,\n");
break;
case INSN_OUTPUT_FORMAT_SINGLE:
- printf (" \"%s\",\n", d->template);
+ {
+ const char *p = d->template;
+ char prev = 0;
+
+ printf (" \"");
+ while (*p)
+ {
+ if (*p == '\n' && prev != '\\')
+ printf ("\\n\\\n");
+ else
+ putchar (*p);
+ prev = *p;
+ ++p;
+ }
+ printf ("\",\n");
+ }
break;
case INSN_OUTPUT_FORMAT_MULTI:
case INSN_OUTPUT_FORMAT_FUNCTION: