tm.texi.in (US_SOFTWARE_GOFAST): Don't document.

* doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
	* doc/tm.texi: Regenerate.
	* system.h (US_SOFTWARE_GOFAST): Poison.
	* config.gcc (enable_gofast): Don't handle.
	* config/gofast.h: Remove.
	* config/mips/t-gofast: Remove.
	* config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
	* config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
	* config/mips/elforion.h: Don't mention GOFAST in comment.
	* config/mips/mips.c: Don't include gofast.h.
	(mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
	* config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
	US_SOFTWARE_GOFAST.
	* config/sparc/sparc.c: Don't include gofast.h.
	(sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
	* config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
	US_SOFTWARE_GOFAST.

From-SVN: r167880
This commit is contained in:
Joseph Myers 2010-12-15 22:55:53 +00:00 committed by Joseph Myers
parent 73487f1ebc
commit bd9c1f8f18
14 changed files with 92 additions and 301 deletions

View File

@ -1,3 +1,23 @@
2010-12-15 Joseph Myers <joseph@codesourcery.com>
* doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
* doc/tm.texi: Regenerate.
* system.h (US_SOFTWARE_GOFAST): Poison.
* config.gcc (enable_gofast): Don't handle.
* config/gofast.h: Remove.
* config/mips/t-gofast: Remove.
* config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
* config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
* config/mips/elforion.h: Don't mention GOFAST in comment.
* config/mips/mips.c: Don't include gofast.h.
(mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
* config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
US_SOFTWARE_GOFAST.
* config/sparc/sparc.c: Don't include gofast.h.
(sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
* config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
US_SOFTWARE_GOFAST.
2010-12-14 Jan Hubicka <jh@suse.cz>
* tree.c (get_file_function_name): Avoid using random seed on GLOBAL_sub_I

View File

@ -3562,13 +3562,7 @@ case ${target} in
tm_defines="TARGET_ENDIAN_DEFAULT=0 $tm_defines"
;;
esac
if test "x$enable_gofast" = xyes
then
tm_defines="US_SOFTWARE_GOFAST $tm_defines"
tmake_file="mips/t-gofast $tmake_file"
else
tmake_file="mips/t-mips $tmake_file"
fi
tmake_file="mips/t-mips $tmake_file"
;;
powerpc*-*-* | rs6000-*-*)

View File

@ -1,7 +1,7 @@
/* This is a software floating point library which can be used
for targets without hardware floating point.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2003,
2004, 2005, 2008, 2009 Free Software Foundation, Inc.
2004, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GCC.
@ -48,8 +48,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
8-bit processors.
CMPtype: Specify the type that floating point compares should return.
This defaults to SItype, aka int.
US_SOFTWARE_GOFAST: This makes all entry points use the same names as the
US Software goFast library.
_DEBUG_BITFLOAT: This makes debugging the code a little easier, by adding
two integers to the FLO_union_type.
NO_DENORMALS: Disable handling of denormals.
@ -1179,8 +1177,6 @@ compare (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_compare_sf || L_compare_df */
#ifndef US_SOFTWARE_GOFAST
/* These should be optimized for their specific tasks someday. */
#if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
@ -1308,8 +1304,6 @@ _le_f2 (FLO_type arg_a, FLO_type arg_b)
}
#endif /* L_le_sf || L_le_df */
#endif /* ! US_SOFTWARE_GOFAST */
#if defined(L_unord_sf) || defined(L_unord_df) || defined(L_unord_tf)
CMPtype
_unord_f2 (FLO_type arg_a, FLO_type arg_b)
@ -1434,14 +1428,7 @@ float_to_si (FLO_type arg_a)
}
#endif /* L_sf_to_si || L_df_to_si */
#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
#if defined US_SOFTWARE_GOFAST || defined(L_tf_to_usi)
/* While libgcc2.c defines its own __fixunssfsi and __fixunsdfsi routines,
we also define them for GOFAST because the ones in libgcc2.c have the
wrong names and I'd rather define these here and keep GOFAST CYG-LOC's
out of libgcc2.c. We can't define these here if not GOFAST because then
there'd be duplicate copies. */
#if defined(L_tf_to_usi)
USItype
float_to_usi (FLO_type arg_a)
{
@ -1471,8 +1458,7 @@ float_to_usi (FLO_type arg_a)
else
return a.fraction.ll >> ((FRACBITS + NGARDS) - a.normal_exp);
}
#endif /* US_SOFTWARE_GOFAST */
#endif /* L_sf_to_usi || L_df_to_usi */
#endif /* L_tf_to_usi */
#if defined(L_negate_sf) || defined(L_negate_df) || defined(L_negate_tf)
FLO_type

View File

@ -1,5 +1,6 @@
/* Header file for fp-bit.c. */
/* Copyright (C) 2000, 2002, 2003, 2006, 2009 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2002, 2003, 2006, 2009, 2010
Free Software Foundation, Inc.
This file is part of GCC.
@ -217,101 +218,67 @@ typedef unsigned int UTItype __attribute__ ((mode (TI)));
typedef DItype intfrac;
#endif /* FLOAT */
#ifdef US_SOFTWARE_GOFAST
# ifdef TFLOAT
# error "GOFAST TFmode not supported"
# elif defined FLOAT
# define add fpadd
# define sub fpsub
# define multiply fpmul
# define divide fpdiv
# define compare fpcmp
# define _unord_f2 __unordsf2
# define usi_to_float __floatunsisf
# define si_to_float sitofp
# define float_to_si fptosi
# define float_to_usi fptoui
# define negate __negsf2
# define sf_to_df fptodp
# define sf_to_tf __extendsftf2
# else
# define add dpadd
# define sub dpsub
# define multiply dpmul
# define divide dpdiv
# define compare dpcmp
# define _unord_f2 __unorddf2
# define usi_to_float __floatunsidf
# define si_to_float litodp
# define float_to_si dptoli
# define float_to_usi dptoul
# define negate __negdf2
# define df_to_sf dptofp
# define df_to_tf __extenddftf2
# endif /* FLOAT */
#ifdef TFLOAT
# define add __addtf3
# define sub __subtf3
# define multiply __multf3
# define divide __divtf3
# define compare __cmptf2
# define _eq_f2 __eqtf2
# define _ne_f2 __netf2
# define _gt_f2 __gttf2
# define _ge_f2 __getf2
# define _lt_f2 __lttf2
# define _le_f2 __letf2
# define _unord_f2 __unordtf2
# define usi_to_float __floatunsitf
# define si_to_float __floatsitf
# define float_to_si __fixtfsi
# define float_to_usi __fixunstfsi
# define negate __negtf2
# define tf_to_sf __trunctfsf2
# define tf_to_df __trunctfdf2
#elif defined FLOAT
# define add __addsf3
# define sub __subsf3
# define multiply __mulsf3
# define divide __divsf3
# define compare __cmpsf2
# define _eq_f2 __eqsf2
# define _ne_f2 __nesf2
# define _gt_f2 __gtsf2
# define _ge_f2 __gesf2
# define _lt_f2 __ltsf2
# define _le_f2 __lesf2
# define _unord_f2 __unordsf2
# define usi_to_float __floatunsisf
# define si_to_float __floatsisf
# define float_to_si __fixsfsi
# define float_to_usi __fixunssfsi
# define negate __negsf2
# define sf_to_df __extendsfdf2
# define sf_to_tf __extendsftf2
#else
# ifdef TFLOAT
# define add __addtf3
# define sub __subtf3
# define multiply __multf3
# define divide __divtf3
# define compare __cmptf2
# define _eq_f2 __eqtf2
# define _ne_f2 __netf2
# define _gt_f2 __gttf2
# define _ge_f2 __getf2
# define _lt_f2 __lttf2
# define _le_f2 __letf2
# define _unord_f2 __unordtf2
# define usi_to_float __floatunsitf
# define si_to_float __floatsitf
# define float_to_si __fixtfsi
# define float_to_usi __fixunstfsi
# define negate __negtf2
# define tf_to_sf __trunctfsf2
# define tf_to_df __trunctfdf2
# elif defined FLOAT
# define add __addsf3
# define sub __subsf3
# define multiply __mulsf3
# define divide __divsf3
# define compare __cmpsf2
# define _eq_f2 __eqsf2
# define _ne_f2 __nesf2
# define _gt_f2 __gtsf2
# define _ge_f2 __gesf2
# define _lt_f2 __ltsf2
# define _le_f2 __lesf2
# define _unord_f2 __unordsf2
# define usi_to_float __floatunsisf
# define si_to_float __floatsisf
# define float_to_si __fixsfsi
# define float_to_usi __fixunssfsi
# define negate __negsf2
# define sf_to_df __extendsfdf2
# define sf_to_tf __extendsftf2
# else
# define add __adddf3
# define sub __subdf3
# define multiply __muldf3
# define divide __divdf3
# define compare __cmpdf2
# define _eq_f2 __eqdf2
# define _ne_f2 __nedf2
# define _gt_f2 __gtdf2
# define _ge_f2 __gedf2
# define _lt_f2 __ltdf2
# define _le_f2 __ledf2
# define _unord_f2 __unorddf2
# define usi_to_float __floatunsidf
# define si_to_float __floatsidf
# define float_to_si __fixdfsi
# define float_to_usi __fixunsdfsi
# define negate __negdf2
# define df_to_sf __truncdfsf2
# define df_to_tf __extenddftf2
# endif /* FLOAT */
#endif /* US_SOFTWARE_GOFAST */
# define add __adddf3
# define sub __subdf3
# define multiply __muldf3
# define divide __divdf3
# define compare __cmpdf2
# define _eq_f2 __eqdf2
# define _ne_f2 __nedf2
# define _gt_f2 __gtdf2
# define _ge_f2 __gedf2
# define _lt_f2 __ltdf2
# define _le_f2 __ledf2
# define _unord_f2 __unorddf2
# define usi_to_float __floatunsidf
# define si_to_float __floatsidf
# define float_to_si __fixdfsi
# define float_to_usi __fixunsdfsi
# define negate __negdf2
# define df_to_sf __truncdfsf2
# define df_to_tf __extenddftf2
#endif /* FLOAT */
#ifndef INLINE
#define INLINE __inline__
@ -437,8 +404,6 @@ extern int __fpcmp_parts (fp_number_type *, fp_number_type *);
extern CMPtype compare (FLO_type, FLO_type);
#endif
#ifndef US_SOFTWARE_GOFAST
#if defined(L_eq_sf) || defined(L_eq_df) || defined(L_eq_tf)
extern CMPtype _eq_f2 (FLO_type, FLO_type);
#endif
@ -467,8 +432,6 @@ extern CMPtype _le_f2 (FLO_type, FLO_type);
extern CMPtype _unord_f2 (FLO_type, FLO_type);
#endif
#endif /* ! US_SOFTWARE_GOFAST */
#if defined(L_si_to_sf) || defined(L_si_to_df) || defined(L_si_to_tf)
extern FLO_type si_to_float (SItype);
#endif
@ -477,11 +440,9 @@ extern FLO_type si_to_float (SItype);
extern SItype float_to_si (FLO_type);
#endif
#if defined(L_sf_to_usi) || defined(L_df_to_usi) || defined(L_tf_to_usi)
#if defined(US_SOFTWARE_GOFAST) || defined(L_tf_to_usi)
#if defined(L_tf_to_usi)
extern USItype float_to_usi (FLO_type);
#endif
#endif
#if defined(L_usi_to_sf) || defined(L_usi_to_df) || defined(L_usi_to_tf)
extern FLO_type usi_to_float (USItype);

View File

@ -1,80 +0,0 @@
/* US Software GOFAST floating point library support.
Copyright (C) 1994, 1998, 1999, 2002, 2003, 2004, 2007
Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* The US Software GOFAST library requires special optabs support.
This file is intended to be included by config/ARCH/ARCH.c. It
defines one function, gofast_maybe_init_libfuncs, which should be
called from the TARGET_INIT_LIBFUNCS hook. When tm.h has defined
US_SOFTWARE_GOFAST, this function will adjust all the optabs and
libfuncs appropriately. Otherwise it will do nothing. */
static void
gofast_maybe_init_libfuncs (void)
{
#ifdef US_SOFTWARE_GOFAST
int mode;
set_optab_libfunc (add_optab, SFmode, "fpadd");
set_optab_libfunc (add_optab, DFmode, "dpadd");
set_optab_libfunc (sub_optab, SFmode, "fpsub");
set_optab_libfunc (sub_optab, DFmode, "dpsub");
set_optab_libfunc (smul_optab, SFmode, "fpmul");
set_optab_libfunc (smul_optab, DFmode, "dpmul");
set_optab_libfunc (sdiv_optab, SFmode, "fpdiv");
set_optab_libfunc (sdiv_optab, DFmode, "dpdiv");
set_optab_libfunc (cmp_optab, SFmode, "fpcmp");
set_optab_libfunc (cmp_optab, DFmode, "dpcmp");
/* GOFAST does not provide libfuncs for negation, so we use the
standard names. */
/* GCC does not use fpcmp/dpcmp for gt or ge because its own
FP-emulation library returns +1 for both > and unord. So we
leave gt and ge unset, such that, instead of fpcmp(a,b) >[=], we
generate fpcmp(b,a) <[=] 0, which is unambiguous. For unord
libfuncs, we use our own functions, since GOFAST doesn't supply
them. */
set_optab_libfunc (eq_optab, SFmode, "fpcmp");
set_optab_libfunc (ne_optab, SFmode, "fpcmp");
set_optab_libfunc (gt_optab, SFmode, 0);
set_optab_libfunc (ge_optab, SFmode, 0);
set_optab_libfunc (lt_optab, SFmode, "fpcmp");
set_optab_libfunc (le_optab, SFmode, "fpcmp");
set_optab_libfunc (eq_optab, DFmode, "dpcmp");
set_optab_libfunc (ne_optab, DFmode, "dpcmp");
set_optab_libfunc (gt_optab, DFmode, 0);
set_optab_libfunc (ge_optab, DFmode, 0);
set_optab_libfunc (lt_optab, DFmode, "dpcmp");
set_optab_libfunc (le_optab, DFmode, "dpcmp");
set_conv_libfunc (sext_optab, DFmode, SFmode, "fptodp");
set_conv_libfunc (trunc_optab, SFmode, DFmode, "dptofp");
set_conv_libfunc (sfix_optab, SImode, SFmode, "fptosi");
set_conv_libfunc (sfix_optab, SImode, DFmode, "dptoli");
set_conv_libfunc (ufix_optab, SImode, SFmode, "fptoui");
set_conv_libfunc (ufix_optab, SImode, DFmode, "dptoul");
set_conv_libfunc (sfloat_optab, SFmode, SImode, "sitofp");
set_conv_libfunc (sfloat_optab, DFmode, SImode, "litodp");
#endif
}

View File

@ -1,6 +1,5 @@
/* Definitions of target machine for GNU compiler. MIPS ORION version with
GOFAST floating point library.
Copyright (C) 1994, 1998, 2007 Free Software Foundation, Inc.
/* Definitions of target machine for GNU compiler. MIPS ORION version.
Copyright (C) 1994, 1998, 2007, 2010 Free Software Foundation, Inc.
This file is part of GCC.

View File

@ -11149,8 +11149,6 @@ mips_preferred_simd_mode (enum machine_mode mode ATTRIBUTE_UNUSED)
/* Implement TARGET_INIT_LIBFUNCS. */
#include "config/gofast.h"
static void
mips_init_libfuncs (void)
{
@ -11209,9 +11207,6 @@ mips_init_libfuncs (void)
"__mips16_floatunsidf");
}
}
else
/* Register the gofast functions if selected using --enable-gofast. */
gofast_maybe_init_libfuncs ();
/* The MIPS16 ISA does not have an encoding for "sync", so we rely
on an external non-MIPS16 routine to implement __sync_synchronize. */

View File

@ -1,37 +0,0 @@
# Copyright (C) 2002 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
DPBIT = dp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifdef __MIPSEL__' > dp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
echo '#endif' >> dp-bit.c
echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#define FLOAT' > fp-bit.c
echo '#ifdef __MIPSEL__' >> fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
echo '#endif' >> fp-bit.c
echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c

View File

@ -1,4 +1,4 @@
# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
# Copyright (C) 2002, 2003, 2010 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@ -49,7 +49,6 @@ dp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifdef __MIPSEL__' > dp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
echo '#endif' >> dp-bit.c
echo '#define US_SOFTWARE_GOFAST' >> dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c
@ -57,7 +56,6 @@ fp-bit.c: $(srcdir)/config/fp-bit.c
echo '#ifdef __MIPSEL__' >> fp-bit.c
echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
echo '#endif' >> fp-bit.c
echo '#define US_SOFTWARE_GOFAST' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
# Build the libraries for both hard and soft floating point

View File

@ -8466,7 +8466,6 @@ sparc_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED)
}
/* libfunc renaming. */
#include "config/gofast.h"
static void
sparc_init_libfuncs (void)
@ -8560,8 +8559,6 @@ sparc_init_libfuncs (void)
set_conv_libfunc (ufix_optab, DImode, DFmode, "__dtoul");
}
}
gofast_maybe_init_libfuncs ();
}
#define def_builtin(NAME, CODE, TYPE) \

View File

@ -1,4 +1,4 @@
# Copyright (C) 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
# Copyright (C) 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
@ -55,12 +55,10 @@ FPBIT = fp-bit.c
DPBIT = dp-bit.c
dp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/spu/t-spu-elf
echo '#undef US_SOFTWARE_GOFAST' > dp-bit.c
cat $(srcdir)/config/fp-bit.c >> dp-bit.c
fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/spu/t-spu-elf
echo '#define FLOAT' > fp-bit.c
echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
cat $(srcdir)/config/fp-bit.c >> fp-bit.c
# Don't let CTOR_LIST end up in sdata section.

View File

@ -5268,26 +5268,6 @@ If this macro evaluates to @code{false} the comparison functions return
in @file{libgcc.a}, you do not need to define this macro.
@end defmac
@cindex US Software GOFAST, floating point emulation library
@cindex floating point emulation library, US Software GOFAST
@cindex GOFAST, floating point emulation library
@findex gofast_maybe_init_libfuncs
@defmac US_SOFTWARE_GOFAST
Define this macro if your system C library uses the US Software GOFAST
library to provide floating point emulation.
In addition to defining this macro, your architecture must set
@code{TARGET_INIT_LIBFUNCS} to @code{gofast_maybe_init_libfuncs}, or
else call that function from its version of that hook. It is defined
in @file{config/gofast.h}, which must be included by your
architecture's @file{@var{cpu}.c} file. See @file{sparc/sparc.c} for
an example.
If this macro is defined, the
@code{TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL} target hook must return
false for @code{SFmode} and @code{DFmode} comparisons.
@end defmac
@cindex @code{EDOM}, implicit usage
@findex matherr
@defmac TARGET_EDOM

View File

@ -5250,26 +5250,6 @@ If this macro evaluates to @code{false} the comparison functions return
in @file{libgcc.a}, you do not need to define this macro.
@end defmac
@cindex US Software GOFAST, floating point emulation library
@cindex floating point emulation library, US Software GOFAST
@cindex GOFAST, floating point emulation library
@findex gofast_maybe_init_libfuncs
@defmac US_SOFTWARE_GOFAST
Define this macro if your system C library uses the US Software GOFAST
library to provide floating point emulation.
In addition to defining this macro, your architecture must set
@code{TARGET_INIT_LIBFUNCS} to @code{gofast_maybe_init_libfuncs}, or
else call that function from its version of that hook. It is defined
in @file{config/gofast.h}, which must be included by your
architecture's @file{@var{cpu}.c} file. See @file{sparc/sparc.c} for
an example.
If this macro is defined, the
@code{TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL} target hook must return
false for @code{SFmode} and @code{DFmode} comparisons.
@end defmac
@cindex @code{EDOM}, implicit usage
@findex matherr
@defmac TARGET_EDOM

View File

@ -822,7 +822,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP \
HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE \
FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS
FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \