]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
calls.c (emit_library_call_value_1): Remove code related to LIBGCC_NEEDS_DOUBLE.
authorJason Eckhardt <jle@rice.edu>
Sat, 23 Aug 2003 18:03:06 +0000 (18:03 +0000)
committerJason Eckhardt <jle@gcc.gnu.org>
Sat, 23 Aug 2003 18:03:06 +0000 (18:03 +0000)
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

gcc/ChangeLog
gcc/calls.c
gcc/config/stormy16/stormy16.h
gcc/doc/tm.texi
gcc/system.h

index f98e4e231c61649dd91936a2a5a9766f6aacc33b..55d4baa1588344315093c2e6b2f01bf040cc3059 100644 (file)
@@ -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.
index f4bf6d3b70dd5ecc029faad6c08458596ba71b9c..11d423275b366cf27b0d67558319faa605f376f2 100644 (file)
@@ -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.  */
 
index c6d1596a4d984e4add6973767949c67978ba2473..3d1ab50756fb97ab79cf0e5dacec159d98c26581 100644 (file)
@@ -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'
index 47fbb783fd29ac03b30ffb10bd75da3565706d4a..a6b23d60bfbeccd22349f7abd8a302af8c0acc78 100644 (file)
@@ -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
index aae0dda56fde12d583b57e37d1be26a359e23592..aa71fbbfdb9bc4eceee9c3f786b68f03492d29b1 100644 (file)
@@ -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  \