diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2asm.c | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cfec97c..e6b524e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-04-25 Geoffrey Keating <geoffk@apple.com> + + * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just + to print an integer. + 2006-04-25 David Edelsohn <edelsohn@gnu.org> * varasm.c (align_variable): New function. diff --git a/gcc/dwarf2asm.c b/gcc/dwarf2asm.c index 255daf0..59c5e29 100644 --- a/gcc/dwarf2asm.c +++ b/gcc/dwarf2asm.c @@ -69,13 +69,17 @@ dw2_asm_output_data (int size, unsigned HOST_WIDE_INT value, const char *comment, ...) { va_list ap; + const char *op = integer_asm_op (size, FALSE); va_start (ap, comment); if (size * 8 < HOST_BITS_PER_WIDE_INT) value &= ~(~(unsigned HOST_WIDE_INT) 0 << (size * 8)); - dw2_assemble_integer (size, GEN_INT (value)); + if (op) + fprintf (asm_out_file, "%s" HOST_WIDE_INT_PRINT_HEX, op, value); + else + assemble_integer (GEN_INT (value), size, BITS_PER_UNIT, 1); if (flag_debug_asm && comment) { |