diff options
-rw-r--r-- | gcc/config/cil32/emit-cil.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/gcc/config/cil32/emit-cil.c b/gcc/config/cil32/emit-cil.c index a4052bee090..18971c7f6d0 100644 --- a/gcc/config/cil32/emit-cil.c +++ b/gcc/config/cil32/emit-cil.c @@ -1723,11 +1723,21 @@ emit_cil_stmt (FILE *file, const_cil_stmt stmt) } break; case CIL_STRING: - fprintf (file, - "\n\t// BEGIN ASM" - "\n\t%s" - "\n\t// END ASM", - TREE_STRING_POINTER (cil_string (stmt))); + { + tree t = cil_string (stmt); + const char *str; + const char *str2; + unsigned int len; + + str = TREE_STRING_POINTER (t); + len = TREE_STRING_LENGTH (t); + + fprintf (file, "\n\t// BEGIN ASM"); + for (str2 = str; str2[0] && ISSPACE(str2[0]); ++str2) + ; + fprintf (file, "\n\t%s%s", (str2[0] == '#') ? "//" : "", str); + fprintf (file,"\n\t// END ASM"); + } break; default: |