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> 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
* config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove. * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
......
...@@ -3733,13 +3733,6 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value, ...@@ -3733,13 +3733,6 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
|| (GET_MODE (val) != mode && GET_MODE (val) != VOIDmode)) || (GET_MODE (val) != mode && GET_MODE (val) != VOIDmode))
abort (); 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 /* There's no need to call protect_from_queue, because
either emit_move_insn or emit_push_insn will do that. */ either emit_move_insn or emit_push_insn will do that. */
......
...@@ -540,11 +540,7 @@ enum reg_class ...@@ -540,11 +540,7 @@ enum reg_class
The obvious choice would be `float'--but that won't work with traditional C 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 compilers that expect all arguments declared as `float' to arrive as
`double'. To avoid this conversion, the library routines ask for the value `double'. To avoid this conversion, the library routines ask for the value
as some other type and then treat it as a `float'. 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. */
/* #define FLOAT_ARG_TYPE */ /* #define FLOAT_ARG_TYPE */
/* Define this macro to override the way library routines redesignate a `float' /* 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 ...@@ -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. they needs this macro to be redefined to 0.
@end defmac @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 @defmac NEXT_OBJC_RUNTIME
Define this macro to generate code for Objective-C message sending using Define this macro to generate code for Objective-C message sending using
the calling convention of the NeXT system. This calling convention the calling convention of the NeXT system. This calling convention
......
...@@ -610,7 +610,8 @@ typedef char _Bool; ...@@ -610,7 +610,8 @@ typedef char _Bool;
DBX_LBRAC_FIRST DBX_OUTPUT_ENUM DBX_OUTPUT_SOURCE_FILENAME \ DBX_LBRAC_FIRST DBX_OUTPUT_ENUM DBX_OUTPUT_SOURCE_FILENAME \
DBX_WORKING_DIRECTORY INSN_CACHE_DEPTH INSN_CACHE_SIZE \ DBX_WORKING_DIRECTORY INSN_CACHE_DEPTH INSN_CACHE_SIZE \
INSN_CACHE_LINE_WIDTH INIT_SECTION_PREAMBLE NEED_ATEXIT ON_EXIT \ 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. */ /* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ #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