Commit 763a27ee by Danny Smith Committed by Danny Smith

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
parent 8fa07a56
2008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
PR target/34970
* config/i386/cygming.h (ASM_OUTPUT_LABELREF): Define.
2008-01-25 Joseph Myers <joseph@codesourcery.com> 2008-01-25 Joseph Myers <joseph@codesourcery.com>
PR other/31955 PR other/31955
......
/* Operating system specific defines to be used when targeting GCC for /* Operating system specific defines to be used when targeting GCC for
hosting on Windows32, using a Unix style C library and tools. hosting on Windows32, using a Unix style C library and tools.
Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2004, 2005, 2007 2004, 2005, 2007, 2008
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -197,6 +197,17 @@ do { \ ...@@ -197,6 +197,17 @@ do { \
ASM_OUTPUT_LABEL ((STREAM), (NAME)); \ ASM_OUTPUT_LABEL ((STREAM), (NAME)); \
} while (0) } 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 /* Emit code to check the stack when allocating more than 4000
bytes in one go. */ bytes in one go. */
......
2008-01-26 Danny Smith <dannysmith@users.sourceforge.net>
PR target/34970
* gcc.target/i386/fastcall-1.c: Scan for correct label.
Use -std=gnu89 switch.
2008-01-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2008-01-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/34876 PR libfortran/34876
/* { dg-do compile { target i?86-*-mingw32* i?86-*-cygwin* } } */ /* { dg-do compile { target i?86-*-mingw32* i?86-*-cygwin* } } */
/* { dg-options "-std=gnu89" } */
void void
__attribute__ ((fastcall)) __attribute__ ((fastcall))
...@@ -15,3 +16,6 @@ f3() { } ...@@ -15,3 +16,6 @@ f3() { }
void void
__attribute__ ((fastcall)) __attribute__ ((fastcall))
f4(int x, int y, int z) { } f4(int x, int y, int z) { }
/* Scan for global label with correct prefix and suffix. */
/* { dg-final { scan-assembler "\.globl\[ \t\]@f4@12" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment