From 307e368b5c81ae0a71278e30bc63eb00e276b383 Mon Sep 17 00:00:00 2001 From: aj Date: Sun, 19 May 2002 06:04:22 +0000 Subject: [PATCH] * gengenrtl.c: Add prototype for excluded_rtx. * real.h: Add prototype for exact_real_truncate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53607 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 20 +++++++++++++------- gcc/gengenrtl.c | 15 ++++++++------- gcc/real.h | 5 +++++ 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b0bd475..a8f2230 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-05-19 Andreas Jaeger + + * gengenrtl.c: Add prototype for excluded_rtx. + + * real.h: Add prototype for exact_real_truncate. + 2002-05-18 Richard Henderson * system.h (ENCODE_SECTION_INFO): Poison it. @@ -25,16 +31,16 @@ 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 @@ -92,10 +98,10 @@ * 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. @@ -115,7 +121,7 @@ * 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 2002-05-18 Jason Thorpe * 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. diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c index 3da601b..b90c9ee 100644 --- a/gcc/gengenrtl.c +++ b/gcc/gengenrtl.c @@ -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. */ diff --git a/gcc/real.h b/gcc/real.h index 3de905d..4b59378 100644 --- a/gcc/real.h +++ b/gcc/real.h @@ -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)) -- 2.7.4