--- gcc/config/tahoe/tahoe.h 2018/04/24 18:16:08 1.1.1.2 +++ gcc/config/tahoe/tahoe.h 2018/04/24 18:30:02 1.1.1.4 @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Tahoe version. - Copyright (C) 1989 Free Software Foundation, Inc. + Copyright (C) 1989, 1993, 1994, 1995 Free Software Foundation, Inc. This file is part of GNU CC. @@ -15,19 +15,16 @@ GNU General Public License for more deta You should have received a copy of the GNU General Public License along with GNU CC; 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. */ /* - * File: tahoe.h - * * Original port made at the University of Buffalo by Devon Bowen, * Dale Wiles and Kevin Zachmann. * * HCX/UX version by Piet van Oostrum (piet@cs.ruu.nl) * - * Performance hacking by Michael Tiemann (tiemann@lurch.stanford.edu) - * - * Mail bugs reports or fixes to: gcc@cs.buffalo.edu + * Performance hacking by Michael Tiemann (tiemann@cygnus.com) */ /* define this for the HCX/UX version */ @@ -137,21 +134,19 @@ extern int target_flags; /* this section is borrowed from the vax version since the */ /* formats are the same in both of the architectures */ -#define CHECK_FLOAT_VALUE(mode, d) \ - if ((mode) == SFmode) \ - { \ - if ((d) > 1.7014117331926443e+38) \ - { error ("magnitude of constant too large for `float'"); \ - (d) = 1.7014117331926443e+38; } \ - else if ((d) < -1.7014117331926443e+38) \ - { error ("magnitude of constant too large for `float'"); \ - (d) = -1.7014117331926443e+38; } \ - else if (((d) > 0) && ((d) < 2.9387358770557188e-39)) \ - { warning ("`float' constant truncated to zero"); \ - (d) = 0.0; } \ - else if (((d) < 0) && ((d) > -2.9387358770557188e-39)) \ - { warning ("`float' constant truncated to zero"); \ - (d) = 0.0; } \ +#define CHECK_FLOAT_VALUE(MODE, D, OVERFLOW) \ + if (OVERFLOW) \ + (D) = 1.7014117331926443e+38; \ + else if ((MODE) == SFmode) \ + { \ + if ((D) > 1.7014117331926443e+38) \ + (OVERFLOW) = 1, (D) = 1.7014117331926443e+38; \ + else if ((D) < -1.7014117331926443e+38) \ + (OVERFLOW) = 1, (D) = -1.7014117331926443e+38; \ + else if (((D) > 0) && ((D) < 2.9387358770557188e-39)) \ + (OVERFLOW) = 1, (D) = 0.0; \ + else if (((D) < 0) && ((D) > -2.9387358770557188e-39)) \ + (OVERFLOW) = 1, (D) = 0.0; \ } @@ -331,7 +326,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP /* the tahoe return function takes care of everything on the stack */ -#define RETURN_POPS_ARGS(FUNTYPE,SIZE) (SIZE) +#define RETURN_POPS_ARGS(FUNDECL,FUNTYPE,SIZE) (SIZE) /* function values for all types are returned in register 0 */ @@ -860,7 +855,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP /* This is how to output an assembler line for an ASCII string. */ #define ASM_OUTPUT_ASCII(FILE, p, size) \ -{ register int i; \ +do { register int i; \ fprintf ((FILE), "\t.ascii \""); \ for (i = 0; i < (size); i++) \ { \ @@ -874,7 +869,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP fprintf ((FILE), "\\%03o", c); \ } \ } \ - fprintf ((FILE), "\"\n"); } + fprintf ((FILE), "\"\n"); } while (0) #endif /* This is how to output an assembler line for a numeric constant byte. */