From 763a27ee730f23883d6ab6feacb9b22992a8d16c Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Sat, 26 Jan 2008 09:31:30 +0000 Subject: re PR target/34970 (name mangling broken for __attributte__((fastcall))) PR target/34970 gcc * config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define. testsuite * gcc.target/i386/fastcall-1.c: Scan for correct label. Use -std=gnu89 switch. From-SVN: r131859 --- gcc/config/i386/cygming.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'gcc/config') diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index ee2631b..3b18af5 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -1,7 +1,7 @@ /* Operating system specific defines to be used when targeting GCC for hosting on Windows32, using a Unix style C library and tools. Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2005, 2007 + 2004, 2005, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. @@ -197,6 +197,17 @@ do { \ ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ } while (0) +/* Output a reference to a label. Fastcall function symbols + keep their '@' prefix, while other symbols are prefixed + with USER_LABEL_PREFIX. */ +#undef ASM_OUTPUT_LABELREF +#define ASM_OUTPUT_LABELREF(STREAM, NAME) \ +do { \ + if ((NAME)[0] != FASTCALL_PREFIX) \ + fputs (USER_LABEL_PREFIX, (STREAM)); \ + fputs ((NAME), (STREAM)); \ +} while (0) + /* Emit code to check the stack when allocating more than 4000 bytes in one go. */ -- cgit v1.1