Commit edf11bda by Jason Eckhardt Committed by Jason Eckhardt

calls.c (emit_library_call_value_1): Remove code related to LIBGCC_NEEDS_DOUBLE.

2003-08-23  Jason Eckhardt  <jle@rice.edu>

        * calls.c (emit_library_call_value_1): Remove code related
        to LIBGCC_NEEDS_DOUBLE.
        * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
        * doc/tm.texi: Likewise.
        * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.

From-SVN: r70740
parent e2a188b2
2003-08-23 Jason Eckhardt <jle@rice.edu>
* calls.c (emit_library_call_value_1): Remove code related
to LIBGCC_NEEDS_DOUBLE.
* config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
* doc/tm.texi: Likewise.
* system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
2003-08-23 Richard Sandiford <rsandifo@redhat.com>
* config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
......
......@@ -3733,13 +3733,6 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
|| (GET_MODE (val) != mode && GET_MODE (val) != VOIDmode))
abort ();
/* On some machines, there's no way to pass a float to a library fcn.
Pass it as a double instead. */
#ifdef LIBGCC_NEEDS_DOUBLE
if (LIBGCC_NEEDS_DOUBLE && mode == SFmode)
val = convert_modes (DFmode, SFmode, val, 0), mode = DFmode;
#endif
/* There's no need to call protect_from_queue, because
either emit_move_insn or emit_push_insn will do that. */
......
......@@ -540,11 +540,7 @@ enum reg_class
The obvious choice would be `float'--but that won't work with traditional C
compilers that expect all arguments declared as `float' to arrive as
`double'. To avoid this conversion, the library routines ask for the value
as some other type and then treat it as a `float'.
On some systems, no other type will work for this. For these systems, you
must use `LIBGCC_NEEDS_DOUBLE' instead, to force conversion of the values
`double' before they are passed. */
as some other type and then treat it as a `float'. */
/* #define FLOAT_ARG_TYPE */
/* Define this macro to override the way library routines redesignate a `float'
......
......@@ -4768,15 +4768,6 @@ number of existing systems lacks support for these functions in the runtime so
they needs this macro to be redefined to 0.
@end defmac
@defmac LIBGCC_NEEDS_DOUBLE
Define this macro if @code{float} arguments cannot be passed to library
routines (so they must be converted to @code{double}). This macro
affects both how library calls are generated and how the library
routines in @file{libgcc.a} accept their arguments. It is useful on
machines where floating and fixed point arguments are passed
differently, such as the i860.
@end defmac
@defmac NEXT_OBJC_RUNTIME
Define this macro to generate code for Objective-C message sending using
the calling convention of the NeXT system. This calling convention
......
......@@ -610,7 +610,8 @@ typedef char _Bool;
DBX_LBRAC_FIRST DBX_OUTPUT_ENUM DBX_OUTPUT_SOURCE_FILENAME \
DBX_WORKING_DIRECTORY INSN_CACHE_DEPTH INSN_CACHE_SIZE \
INSN_CACHE_LINE_WIDTH INIT_SECTION_PREAMBLE NEED_ATEXIT ON_EXIT \
EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS MAP_CHARACTER
EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS MAP_CHARACTER \
LIBGCC_NEEDS_DOUBLE
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
......
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