From 79b1f6ae0ee6860a7d96b6c5a90944931550039c Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Thu, 19 Jul 2012 09:51:52 +0200 Subject: [PATCH] Make \n in arm_emitf() work. --- ir/be/arm/arm_emitter.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ir/be/arm/arm_emitter.c b/ir/be/arm/arm_emitter.c index c504abccd..2bdb84139 100644 --- a/ir/be/arm/arm_emitter.c +++ b/ir/be/arm/arm_emitter.c @@ -275,11 +275,21 @@ void arm_emitf(const ir_node *node, const char *format, ...) be_emit_char('\t'); for (;;) { const char *start = format; - while (*format != '%' && *format != '\0') + while (*format != '%' && *format != '\n' && *format != '\0') ++format; - be_emit_string_len(start, format-start); + be_emit_string_len(start, format - start); + if (*format == '\0') break; + + if (*format == '\n') { + ++format; + be_emit_char('\n'); + be_emit_write_line(); + be_emit_char('\t'); + continue; + } + ++format; switch (*format++) { @@ -375,12 +385,6 @@ void arm_emitf(const ir_node *node, const char *format, ...) break; } - case '\n': - be_emit_char('\n'); - be_emit_write_line(); - be_emit_char('\t'); - break; - default: unknown: panic("unknown format conversion in arm_emitf()"); -- 2.20.1