aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/calls.c7
-rw-r--r--gcc/config/stormy16/stormy16.h6
-rw-r--r--gcc/doc/tm.texi9
-rw-r--r--gcc/system.h3
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 \