gccint recommends using ASM_OUTPUT_FUNCTION_LABEL in
ASM_DECLARE_FUNCTION_NAME, but many implementations use
ASM_OUTPUT_LABEL instead. It's inconsistent and prevents changes to
ASM_OUTPUT_FUNCTION_LABEL from affecting the respective targets.
---
gcc/config/aarch64/aarch64.cc | 2 +-
gcc/config/alpha/alpha.cc | 5 ++---
gcc/config/arm/aout.h | 2 +-
gcc/config/arm/arm.cc | 2 +-
gcc/config/bfin/bfin.h | 16
gcc/config/c6x/c6x.h| 2 +-
gcc/config/gcn/gcn.cc | 5 ++---
gcc/config/h8300/h8300.h| 2 +-
gcc/config/ia64/ia64.cc | 5 ++---
gcc/config/mcore/mcore-elf.h| 2 +-
gcc/config/microblaze/microblaze.cc | 3 +--
gcc/config/mips/mips.cc | 19 ++-
gcc/config/pa/pa.cc | 3 ++-
gcc/config/riscv/riscv.cc | 2 +-
gcc/config/rs6000/rs6000.cc | 4 ++--
15 files changed, 36 insertions(+), 38 deletions(-)
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc
index 298477d88bb..e3c72f60d4e 100644
--- a/gcc/config/aarch64/aarch64.cc
+++ b/gcc/config/aarch64/aarch64.cc
@@ -24207,7 +24207,7 @@ aarch64_declare_function_name (FILE *stream, const
char* name,
/* Don't forget the type directive for ELF. */
ASM_OUTPUT_TYPE_DIRECTIVE (stream, name, "function");
- ASM_OUTPUT_LABEL (stream, name);
+ ASM_OUTPUT_FUNCTION_LABEL (stream, name, fndecl);
cfun->machine->label_is_assembled = true;
}
diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc
index 6aa93783226..8118255e737 100644
--- a/gcc/config/alpha/alpha.cc
+++ b/gcc/config/alpha/alpha.cc
@@ -7986,8 +7986,7 @@ int num_source_filenames = 0;
/* Output the textual info surrounding the prologue. */
void
-alpha_start_function (FILE *file, const char *fnname,
- tree decl ATTRIBUTE_UNUSED)
+alpha_start_function (FILE *file, const char *fnname, tree decl)
{
unsigned long imask, fmask;
/* Complete stack size needed. */
@@ -8052,7 +8051,7 @@ alpha_start_function (FILE *file, const char *fnname,
if (TARGET_ABI_OPEN_VMS)
strcat (entry_label, "..en");
- ASM_OUTPUT_LABEL (file, entry_label);
+ ASM_OUTPUT_FUNCTION_LABEL (file, entry_label, decl);
inside_function = TRUE;
if (TARGET_ABI_OPEN_VMS)
diff --git a/gcc/config/arm/aout.h b/gcc/config/arm/aout.h
index 49896bb9620..380147aed7d 100644
--- a/gcc/config/arm/aout.h
+++ b/gcc/config/arm/aout.h
@@ -152,7 +152,7 @@
do \
{ \
ARM_DECLARE_FUNCTION_NAME (STREAM, NAME, DECL); \
- ASM_OUTPUT_LABEL (STREAM, NAME); \
+ ASM_OUTPUT_FUNCTION_LABEL (STREAM, NAME, DECL); \
} \
while (0)
#endif
diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index 0c0cb14a8a4..7ca607b3de1 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -21800,7 +21800,7 @@ arm_asm_declare_function_name (FILE *file, const char
*name, tree decl)
ARM_DECLARE_FUNCTION_NAME (file, name, decl);
ASM_OUTPUT_TYPE_DIRECTIVE (file, name, "function");
ASM_DECLARE_RESULT (file, DECL_RESULT (decl));
- ASM_OUTPUT_LABEL (file, name);
+ ASM_OUTPUT_FUNCTION_LABEL (file, name, decl);
if (cmse_name)
ASM_OUTPUT_LABEL (file, cmse_name);
diff --git a/gcc/config/bfin/bfin.h b/gcc/config/bfin/bfin.h
index c25f41f6839..60a8d716819 100644
--- a/gcc/config/bfin/bfin.h
+++ b/gcc/config/bfin/bfin.h
@@ -995,14 +995,14 @@ typedef enum directives {
fputc ('\n',FILE); \
} while (0)
-#define ASM_DECLARE_FUNCTION_NAME(FILE,NAME,DECL) \
- do { \
-fputs (".type ", FILE);\
-assemble_name (FILE, NAME); \
-fputs (", STT_FUNC", FILE); \
-fputc (';',FILE); \
-fputc ('\n',FILE); \
-ASM_OUTPUT_LABEL(FILE, NAME); \
+#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL)\
+ do { \
+fputs (".type ", FILE);\
+assemble_name (FILE, NAME);\
+fputs (", STT_FUNC", FILE);\
+fputc (';', FILE); \
+fputc ('\n', FILE);\
+ASM_OUTPUT_FUNCTION_LABEL (FILE, NAME, DECL); \
} while (0)
#define ASM_OUTPUT_LABEL(FILE, NAME)\
diff --git a/gcc/config/c6x/c6x.h b/gcc/config/c6x/c6x.h
index 26b2f2f0700..790b9627ebe 100644
--- a/gcc/config/c6x/c6x.h
+++ b/gcc/config/c6x/c6x.h
@@ -459,7 +459,7 @@ struct GTY(()) machine_function
c6x_output_file_unwind (FILE); \
ASM_OUTPUT_TYPE_DIRECTIVE (FILE, NAME, "function"); \
ASM_DECLARE_RESULT (FILE,