diff options
Diffstat (limited to 'gcc/genoutput.c')
-rw-r--r-- | gcc/genoutput.c | 17 |
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: |