home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / NeXT / GnuSource / cplusplus-8 / config / tm-sun2os4.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-01-11  |  2.1 KB  |  55 lines

  1. /* Definitions of target machine for GNU compiler.  For Sun 2 running Sunos 4.
  2.    Copyright (C) 1987, 1988, 1991 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU CC.
  5.  
  6. GNU CC is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 1, or (at your option)
  9. any later version.
  10.  
  11. GNU CC is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU CC; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. #include "tm-sun2.h"
  21.  
  22. #undef ASM_OUTPUT_DOUBLE
  23. #define ASM_OUTPUT_DOUBLE(FILE,VALUE)                    \
  24.   (isinf ((VALUE))                            \
  25.    ? fprintf (FILE, "\t.double 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
  26.    : double_is_minus_zero ((VALUE))                    \
  27.    ? fprintf (FILE, "\t.long 0x80000000,0\n")                \
  28.    : fprintf (FILE, "\t.double 0r%.20e\n", (VALUE)))
  29.  
  30. /* This is how to output an assembler line defining a `float' constant.  */
  31.  
  32. #undef ASM_OUTPUT_FLOAT
  33. #define ASM_OUTPUT_FLOAT(FILE,VALUE)                    \
  34.   (isinf ((VALUE))                            \
  35.    ? fprintf (FILE, "\t.single 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
  36.    : double_is_minus_zero ((VALUE))                    \
  37.    ? fprintf (FILE, "\t.long 0x80000000\n")                \
  38.    : fprintf (FILE, "\t.single 0r%.20e\n", (VALUE)))
  39.  
  40. #undef ASM_OUTPUT_FLOAT_OPERAND
  41. #define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE)                \
  42.   (isinf ((VALUE))                            \
  43.    ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-"))         \
  44.    : double_is_minus_zero ((VALUE))                    \
  45.    ? fprintf (FILE, "#0r-0.0")                        \
  46.    : fprintf (FILE, "#0r%.9g", (VALUE)))
  47.  
  48. #undef ASM_OUTPUT_DOUBLE_OPERAND
  49. #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE)                \
  50.   (isinf ((VALUE))                            \
  51.    ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-"))        \
  52.    : double_is_minus_zero ((VALUE))                    \
  53.    ? fprintf (FILE, "#0r-0.0")                        \
  54.    : fprintf (FILE, "#0r%.20g", (VALUE)))
  55.