diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/calls.c | 7 | ||||
-rw-r--r-- | gcc/config/stormy16/stormy16.h | 6 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 9 | ||||
-rw-r--r-- | gcc/system.h | 3 |
5 files changed, 11 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f98e4e2..55d4baa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +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. diff --git a/gcc/calls.c b/gcc/calls.c index f4bf6d3..11d4232 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 c6d1596..3d1ab50 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 47fbb78..a6b23d6 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 aae0dda..aa71fbb 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 \ |