gengenrtl.c: Add prototype for excluded_rtx.
authorAndreas Jaeger <aj@gcc.gnu.org>
Sun, 19 May 2002 06:04:22 +0000 (08:04 +0200)
committerAndreas Jaeger <aj@gcc.gnu.org>
Sun, 19 May 2002 06:04:22 +0000 (08:04 +0200)
* gengenrtl.c: Add prototype for excluded_rtx.

* real.h: Add prototype for exact_real_truncate.

From-SVN: r53607

gcc/ChangeLog
gcc/gengenrtl.c
gcc/real.h

index b0bd4754380e9baa4b6c75fa3ef65aad5da62676..a8f2230f003fc9e8f20f885009ac7b5e8f71e24b 100644 (file)
@@ -1,3 +1,9 @@
+2002-05-19  Andreas Jaeger  <aj@suse.de>
+
+       * gengenrtl.c: Add prototype for excluded_rtx.
+
+       * real.h: Add prototype for exact_real_truncate.
+
 2002-05-18  Richard Henderson  <rth@redhat.com>
 
        * system.h (ENCODE_SECTION_INFO): Poison it.
        referencing existing function.  Make function static.
 
        * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
-       config/arc/arc.h, config/arm/arm.c, config/arm/arm.h, 
+       config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
        config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
        config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
        config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
-       config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h, 
+       config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
        config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
        config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
        config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
        config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
-       config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c, 
+       config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
        config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
        config/xtensa/xtensa.c, config/xtensa/xtensa.h:
        Move ENCODE_SECTION_INFO to out-of-line function and add
        * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
        config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
        config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
-       config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h, 
+       config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
        config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
        config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
-       config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h, 
+       config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
        config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
        config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
        (SELECT_RTX_SECTION): Remove.
        * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
        redefining.
        * config/mips/mips.c (mips_select_rtx_section): Make static.
-       Support ELF SHF_MERGE features. 
+       Support ELF SHF_MERGE features.
        * config/mips/mips-protos.h: Update.
        * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
        * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
@@ -241,7 +247,7 @@ Sun May 19 00:24:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
 2002-05-18  Jason Thorpe  <thorpej@wasabisystems.com>
 
        * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
-       is used without -Wformat.  
+       is used without -Wformat.
        * c-common.h (warn_format_zero_length): Declare extern.
        * c-decl.c (warn_options): Add "format-zero-length".
        * c-format.c (warn_format_zero_length): Declare.
index 3da601b141b8602a4fdbb55e7262cb7b0bc2272b..b90c9ee29b24ec36acebea7779f660840f64b06f 100644 (file)
@@ -1,5 +1,5 @@
 /* Generate code to allocate RTL structures.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -28,15 +28,15 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include "real.h"
 
-struct rtx_definition 
+struct rtx_definition
 {
   const char *const enumname, *const name, *const format;
 };
 
 #define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS) { STRINGX(ENUM), NAME, FORMAT },
 
-static const struct rtx_definition defs[] = 
-{  
+static const struct rtx_definition defs[] =
+{
 #include "rtl.def"             /* rtl expressions are documented here */
 };
 
@@ -46,6 +46,7 @@ static const char *type_from_format   PARAMS ((int));
 static const char *accessor_from_format        PARAMS ((int));
 static int special_format              PARAMS ((const char *));
 static int special_rtx                 PARAMS ((int));
+static int excluded_rtx                        PARAMS ((int));
 static void find_formats               PARAMS ((void));
 static void gendecl                    PARAMS ((const char *));
 static void genmacro                   PARAMS ((int));
@@ -188,7 +189,7 @@ gendecl (format)
 {
   const char *p;
   int i, pos;
-  
+
   printf ("extern rtx gen_rtx_fmt_%s\tPARAMS ((RTX_CODE, ", format);
   printf ("enum machine_mode mode");
 
@@ -213,7 +214,7 @@ gendecl (format)
 /* Generate macros to generate RTL of code IDX using the functions we
    write.  */
 
-static void 
+static void
 genmacro (idx)
      int idx;
 {
@@ -253,7 +254,7 @@ gendef (format)
 {
   const char *p;
   int i, j;
-  
+
   /* Start by writing the definition of the function name and the types
      of the arguments.  */
 
index 3de905dfddfed8c20cd80c231979abff6182a5ab..4b59378808ff40c98dd96300efce6ec3c6c20661 100644 (file)
@@ -180,6 +180,11 @@ extern REAL_VALUE_TYPE ereal_from_double PARAMS ((HOST_WIDE_INT *));
 extern REAL_VALUE_TYPE real_value_truncate PARAMS ((enum machine_mode,
                                                  REAL_VALUE_TYPE));
 
+/* Expansion of REAL_VALUE_TRUNCATE.
+   The result is in floating point, rounded to nearest or even.  */
+extern bool exact_real_truncate PARAMS ((enum machine_mode,
+                                        REAL_VALUE_TYPE *));
+
 /* These return HOST_WIDE_INT: */
 /* Convert a floating-point value to integer, rounding toward zero.  */
 #define REAL_VALUE_FIX(x) (efixi (x))