OSDN Git Service

* gcc.texi: Fixes for makeinfo 4.0 --html.
[pf3gnuchains/gcc-fork.git] / gcc / libgcc1.c
index 762f514..bece500 100644 (file)
@@ -1,6 +1,6 @@
 /* Subroutines needed by GCC output code on some machines.  */
 /* Compile this file with the Unix C compiler!  */
-/* Copyright (C) 1987, 1988, 1992 Free Software Foundation, Inc.
+/* Copyright (C) 1987, 1988, 1992, 1994, 1995 Free Software Foundation, Inc.
 
 This file is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
@@ -22,11 +22,13 @@ General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
-/* As a special exception, if you link this library with files
-   compiled with GCC to produce an executable, this does not cause
-   the resulting executable to be covered by the GNU General Public License.
+/* As a special exception, if you link this library with other files,
+   some of which are compiled with GCC, to produce an executable,
+   this library does not by itself cause the resulting executable
+   to be covered by the GNU General Public License.
    This exception does not however invalidate any other reasons why
    the executable file might be covered by the GNU General Public License.  */
 
@@ -75,10 +77,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define perform_lshrsi3(a, b) return a >> b
 #endif
 
-#ifndef perform_lshlsi3
-#define perform_lshlsi3(a, b) return a << b
-#endif
-
 #ifndef perform_ashrsi3
 #define perform_ashrsi3(a, b) return a >> b
 #endif
@@ -128,11 +126,11 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #endif
 
 #ifndef perform_fixdfsi
-#define perform_fixdfsi(a) return (SItype) a;
+#define perform_fixdfsi(a) return (nongcc_SI_type) a;
 #endif
 
 #ifndef perform_fixsfsi
-#define perform_fixsfsi(a) return (SItype) a
+#define perform_fixsfsi(a) return (nongcc_SI_type) a
 #endif
 
 #ifndef perform_floatsidf
@@ -201,13 +199,18 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #endif
 
 #ifndef perform_lesf2
-#define perform_lesf2(a, b) return 1 - (a >= b);
+#define perform_lesf2(a, b) return 1 - (a <= b);
 #endif
 \f
 /* Define the C data type to use for an SImode value.  */
 
-#ifndef SItype
-#define SItype long int
+#ifndef nongcc_SI_type
+#define nongcc_SI_type long int
+#endif
+
+/* Define the C data type to use for a value of word size */
+#ifndef nongcc_word_type
+#define nongcc_word_type nongcc_SI_type
 #endif
 
 /* Define the type to be used for returning an SF mode value
@@ -237,81 +240,72 @@ union flt_or_int { int i; float f; };
 
 
 #ifdef L_mulsi3
-SItype
+nongcc_SI_type
 __mulsi3 (a, b)
-     SItype a, b;
+     nongcc_SI_type a, b;
 {
   perform_mulsi3 (a, b);
 }
 #endif
 
 #ifdef L_udivsi3
-SItype
+nongcc_SI_type
 __udivsi3 (a, b)
-     unsigned SItype a, b;
+     unsigned nongcc_SI_type a, b;
 {
   perform_udivsi3 (a, b);
 }
 #endif
 
 #ifdef L_divsi3
-SItype
+nongcc_SI_type
 __divsi3 (a, b)
-     SItype a, b;
+     nongcc_SI_type a, b;
 {
   perform_divsi3 (a, b);
 }
 #endif
 
 #ifdef L_umodsi3
-SItype
+nongcc_SI_type
 __umodsi3 (a, b)
-     unsigned SItype a, b;
+     unsigned nongcc_SI_type a, b;
 {
   perform_umodsi3 (a, b);
 }
 #endif
 
 #ifdef L_modsi3
-SItype
+nongcc_SI_type
 __modsi3 (a, b)
-     SItype a, b;
+     nongcc_SI_type a, b;
 {
   perform_modsi3 (a, b);
 }
 #endif
 
 #ifdef L_lshrsi3
-SItype
+nongcc_SI_type
 __lshrsi3 (a, b)
-     unsigned SItype a, b;
+     unsigned nongcc_SI_type a, b;
 {
   perform_lshrsi3 (a, b);
 }
 #endif
 
-#ifdef L_lshlsi3
-SItype
-__lshlsi3 (a, b)
-     unsigned SItype a, b;
-{
-  perform_lshlsi3 (a, b);
-}
-#endif
-
 #ifdef L_ashrsi3
-SItype
+nongcc_SI_type
 __ashrsi3 (a, b)
-     SItype a, b;
+     nongcc_SI_type a, b;
 {
   perform_ashrsi3 (a, b);
 }
 #endif
 
 #ifdef L_ashlsi3
-SItype
+nongcc_SI_type
 __ashlsi3 (a, b)
-     SItype a, b;
+     nongcc_SI_type a, b;
 {
   perform_ashlsi3 (a, b);
 }
@@ -368,7 +362,7 @@ __subdf3 (a, b)
    and so on.  */
 
 #ifdef L_eqdf2
-SItype
+nongcc_word_type
 __eqdf2 (a, b)
      double a, b;
 {
@@ -378,7 +372,7 @@ __eqdf2 (a, b)
 #endif
 
 #ifdef L_nedf2
-SItype
+nongcc_word_type
 __nedf2 (a, b)
      double a, b;
 {
@@ -388,7 +382,7 @@ __nedf2 (a, b)
 #endif
 
 #ifdef L_gtdf2
-SItype
+nongcc_word_type
 __gtdf2 (a, b)
      double a, b;
 {
@@ -398,7 +392,7 @@ __gtdf2 (a, b)
 #endif
 
 #ifdef L_gedf2
-SItype
+nongcc_word_type
 __gedf2 (a, b)
      double a, b;
 {
@@ -408,7 +402,7 @@ __gedf2 (a, b)
 #endif
 
 #ifdef L_ltdf2
-SItype
+nongcc_word_type
 __ltdf2 (a, b)
      double a, b;
 {
@@ -418,7 +412,7 @@ __ltdf2 (a, b)
 #endif
 
 #ifdef L_ledf2
-SItype
+nongcc_word_type
 __ledf2 (a, b)
      double a, b;
 {
@@ -428,7 +422,7 @@ __ledf2 (a, b)
 #endif
 \f
 #ifdef L_fixdfsi
-SItype
+nongcc_SI_type
 __fixdfsi (a)
      double a;
 {
@@ -437,7 +431,7 @@ __fixdfsi (a)
 #endif
 
 #ifdef L_fixsfsi
-SItype
+nongcc_SI_type
 __fixsfsi (a)
      FLOAT_ARG_TYPE a;
 {
@@ -449,7 +443,7 @@ __fixsfsi (a)
 #ifdef L_floatsidf
 double
 __floatsidf (a)
-     SItype a;
+     nongcc_SI_type a;
 {
   perform_floatsidf (a);
 }
@@ -458,7 +452,7 @@ __floatsidf (a)
 #ifdef L_floatsisf
 FLOAT_VALUE_TYPE
 __floatsisf (a)
-     SItype a;
+     nongcc_SI_type a;
 {
   union flt_or_value intify;
   perform_floatsisf (a);
@@ -496,7 +490,7 @@ __subsf3 (a, b)
 #endif
 
 #ifdef L_eqsf2
-SItype
+nongcc_word_type
 __eqsf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {
@@ -507,7 +501,7 @@ __eqsf2 (a, b)
 #endif
 
 #ifdef L_nesf2
-SItype
+nongcc_word_type
 __nesf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {
@@ -518,7 +512,7 @@ __nesf2 (a, b)
 #endif
 
 #ifdef L_gtsf2
-SItype
+nongcc_word_type
 __gtsf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {
@@ -529,7 +523,7 @@ __gtsf2 (a, b)
 #endif
 
 #ifdef L_gesf2
-SItype
+nongcc_word_type
 __gesf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {
@@ -540,7 +534,7 @@ __gesf2 (a, b)
 #endif
 
 #ifdef L_ltsf2
-SItype
+nongcc_word_type
 __ltsf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {
@@ -551,7 +545,7 @@ __ltsf2 (a, b)
 #endif
 
 #ifdef L_lesf2
-SItype
+nongcc_word_type
 __lesf2 (a, b)
      FLOAT_ARG_TYPE a, b;
 {