From: Jason Eckhardt Date: Sat, 23 Aug 2003 18:03:06 +0000 (+0000) Subject: calls.c (emit_library_call_value_1): Remove code related to LIBGCC_NEEDS_DOUBLE. X-Git-Tag: releases/gcc-3.4.0~4098 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=edf11bdaab4cd1c1347451f928318b8abec1c01b;p=thirdparty%2Fgcc.git calls.c (emit_library_call_value_1): Remove code related to LIBGCC_NEEDS_DOUBLE. 2003-08-23 Jason Eckhardt * 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f98e4e231c61..55d4baa15883 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-08-23 Jason Eckhardt + + * 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 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove. diff --git a/gcc/calls.c b/gcc/calls.c index f4bf6d3b70dd..11d423275b36 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -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. */ diff --git a/gcc/config/stormy16/stormy16.h b/gcc/config/stormy16/stormy16.h index c6d1596a4d98..3d1ab50756fb 100644 --- a/gcc/config/stormy16/stormy16.h +++ b/gcc/config/stormy16/stormy16.h @@ -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' diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 47fbb783fd29..a6b23d60bfbe 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -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 diff --git a/gcc/system.h b/gcc/system.h index aae0dda56fde..aa71fbbfdb9b 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -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 \