From: Christoph Mallon Date: Sat, 15 Nov 2008 17:17:19 +0000 (+0000) Subject: Remove emit_linelength. The obstack knows its length. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=b70eb7b76bac3ee3e8c8b9c1789f97e0dc2c8023;p=libfirm Remove emit_linelength. The obstack knows its length. [r23687] --- diff --git a/ir/be/beemitter.c b/ir/be/beemitter.c index f0f24811e..62381f0a9 100644 --- a/ir/be/beemitter.c +++ b/ir/be/beemitter.c @@ -34,12 +34,10 @@ FILE *emit_file; struct obstack emit_obst; -int emit_linelength; void be_emit_init(FILE *file) { emit_file = file; - emit_linelength = 0; obstack_init(&emit_obst); } @@ -83,19 +81,20 @@ void be_emit_irprintf(const char *fmt, ...) void be_emit_write_line(void) { - char *finished_line = obstack_finish(&emit_obst); + size_t len = obstack_object_size(&emit_obst); + char *line = obstack_finish(&emit_obst); - fwrite(finished_line, emit_linelength, 1, emit_file); - emit_linelength = 0; - obstack_free(&emit_obst, finished_line); + fwrite(line, 1, len, emit_file); + obstack_free(&emit_obst, line); } void be_emit_pad_comment(void) { - while(emit_linelength <= 30) { - be_emit_char(' '); - } - be_emit_cstring(" "); + size_t len = obstack_object_size(&emit_obst); + if (len > 30) + len = 30; + /* 34 spaces */ + be_emit_string_len(" ", 34 - len); } void be_emit_finish_line_gas(const ir_node *node) diff --git a/ir/be/beemitter.h b/ir/be/beemitter.h index 0d66d10c4..9e34c4ad5 100644 --- a/ir/be/beemitter.h +++ b/ir/be/beemitter.h @@ -38,7 +38,6 @@ /* don't use the following vars directly, they're only here for the inlines */ extern FILE *emit_file; extern struct obstack emit_obst; -extern int emit_linelength; /** * Emit a character to the (assembler) output. @@ -48,7 +47,6 @@ extern int emit_linelength; static inline void be_emit_char(char c) { obstack_1grow(&emit_obst, c); - emit_linelength++; } /** @@ -61,7 +59,6 @@ static inline void be_emit_char(char c) static inline void be_emit_string_len(const char *str, size_t l) { obstack_grow(&emit_obst, str, l); - emit_linelength += l; } /**