From ccc41fb2234d0f7007d17ec245593e9dfd698ac9 Mon Sep 17 00:00:00 2001 From: John David Anglin Date: Fri, 12 Jan 2007 02:27:01 +0000 Subject: [PATCH] pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. (ASM_OUTPUT_INTERNAL_LABEL): Define. From-SVN: r120704 --- gcc/ChangeLog | 6 ++++++ gcc/config/pa/pa-linux.h | 3 +++ gcc/config/pa/pa.h | 22 +++++++++++++++++++--- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f648ed8583c5..dfabc80b5e4a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-01-11 John David Anglin + + * pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. + * pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS. + (ASM_OUTPUT_INTERNAL_LABEL): Define. + 2007-01-09 Nicolas Pitre PR target/30173 diff --git a/gcc/config/pa/pa-linux.h b/gcc/config/pa/pa-linux.h index fa8671585cc5..0d36fcb8baad 100644 --- a/gcc/config/pa/pa-linux.h +++ b/gcc/config/pa/pa-linux.h @@ -140,6 +140,9 @@ Boston, MA 02111-1307, USA. */ does what we want (i.e. uses colons). It must be compatible with ASM_GENERATE_INTERNAL_LABEL(), so do not define it here. */ +/* Use the default. */ +#undef ASM_OUTPUT_INTERNAL_LABEL + /* Use the default. */ #undef TARGET_ASM_GLOBALIZE_LABEL /* Globalizing directive for a label. */ diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 29aee8c48e04..dcd38ed04e77 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1948,9 +1948,14 @@ forget_section (void) \ /* This is how to output the definition of a user-level label named NAME, such as the label on a static function or variable NAME. */ -#define ASM_OUTPUT_LABEL(FILE, NAME) \ - do { assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) +#define ASM_OUTPUT_LABEL(FILE,NAME) \ + do { \ + assemble_name ((FILE), (NAME)); \ + if (TARGET_GAS) \ + fputs (":\n", (FILE)); \ + else \ + fputc ('\n', (FILE)); \ + } while (0) /* This is how to output a reference to a user-level label named NAME. `assemble_name' uses this. */ @@ -1983,6 +1988,17 @@ forget_section (void) \ #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \ sprintf (LABEL, "*%c$%s%04ld", (PREFIX)[0], (PREFIX) + 1, (long)(NUM)) +/* Output the definition of a compiler-generated label named NAME. */ + +#define ASM_OUTPUT_INTERNAL_LABEL(FILE,NAME) \ + do { \ + assemble_name_raw ((FILE), (NAME)); \ + if (TARGET_GAS) \ + fputs (":\n", (FILE)); \ + else \ + fputc ('\n', (FILE)); \ + } while (0) + #define TARGET_ASM_GLOBALIZE_LABEL pa_globalize_label #define ASM_OUTPUT_ASCII(FILE, P, SIZE) \ -- 2.47.2