From c2ac2ff636b15b945c63532fc8d69ec9f294f943 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 3 Feb 1999 02:03:23 +0000 Subject: [PATCH] m68k.c (print_operand_address): When printing a SYMBOL_REF that ends in `.' put parentheses around it. * config/m68k/m68k.c (print_operand_address): When printing a SYMBOL_REF that ends in `.' put parentheses around it. From-SVN: r25000 --- gcc/ChangeLog | 5 +++++ gcc/config/m68k/m68k.c | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68b333844ce..d2fb5d5cb70 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Feb 3 10:59:07 1999 Andreas Schwab + + * config/m68k/m68k.c (print_operand_address): When printing a + SYMBOL_REF that ends in `.' put parentheses around it. + Tue Feb 2 23:38:35 1999 David O'Brien * i386/freebsd*.h now allows '$' in label names and does not use the diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 244fa7fbbcb..3dc331fd615 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -3176,7 +3176,19 @@ print_operand_address (file, addr) } else { - output_addr_const (file, addr); + /* Special case for SYMBOL_REF if the symbol name ends in + `.', this can be mistaken as a size suffix. Put + the name in parentheses. */ + if (GET_CODE (addr) == SYMBOL_REF + && strlen (XSTR (addr, 0)) > 2 + && XSTR (addr, 0)[strlen (XSTR (addr, 0)) - 2] == '.') + { + putc ('(', file); + output_addr_const (file, addr); + putc (')', file); + } + else + output_addr_const (file, addr); } break; } -- 2.30.2