--- gcc/config/tahoe/tahoe.h 2018/04/24 18:10:25 1.1.1.1 +++ 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 */ @@ -44,7 +41,7 @@ the Free Software Foundation, 675 Mass A #define TARGET_VERSION printf (" (hcx)"); #else /* we want "tahoe" and "unix" defined for all future compilations */ -#define CPP_PREDEFINES "-Dtahoe -Dunix" +#define CPP_PREDEFINES "-Dtahoe -Dunix -Asystem(unix) -Acpu(tahoe) -Amachine(tahoe)" /* have cc1 print that this is the tahoe version */ #define TARGET_VERSION printf (" (tahoe)"); #endif @@ -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 */ @@ -621,7 +616,7 @@ enum reg_class {NO_REGS,GENERAL_REGS,FPP /* any bits higher than the low 4 are ignored in the shift count */ /* so don't bother zero extending or sign extending them */ -#define SHIFT_COUNT_TRUNCATED +#define SHIFT_COUNT_TRUNCATED 1 /* we don't need to officially convert from one fixed type to another */ /* in order to use it as that type. We can just assume it's the same */ @@ -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. */