Annotation of GNUtools/cc/config/mips/iris3.h, revision 1.1.1.1

1.1       root        1: /* Definitions of target machine for GNU compiler.  Iris version.
                      2:    Copyright (C) 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 2, 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: #define SGI_TARGET 1           /* inform other mips files this is SGI */
                     21: 
                     22: /* Names to predefine in the preprocessor for this target machine.  */
                     23: 
                     24: #define CPP_PREDEFINES "\
                     25: -Dunix -Dmips -Dsgi -DSVR3 -Dhost_mips -DMIPSEB -DSYSTYPE_SYSV \
                     26: -Asystem(unix) -Asystem(svr3) -Acpu(mips) -Amachine(mips)"
                     27: 
                     28: #define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
                     29: 
                     30: #define CPP_SPEC "\
                     31: %{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV \
                     32: %{.S:  -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
                     33: %{.s:  -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
                     34: %{.cc: -D_LANGUAGE_C_PLUS_PLUS} \
                     35: %{.cxx:        -D_LANGUAGE_C_PLUS_PLUS} \
                     36: %{.C:  -D_LANGUAGE_C_PLUS_PLUS} \
                     37: %{.m:  -D_LANGUAGE_OBJECTIVE_C} \
                     38: %{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}}"
                     39: 
                     40: #define LIB_SPEC       "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"
                     41: 
                     42: #define MACHINE_TYPE   "Silicon Graphics Mips"
                     43: 
                     44: /* SGI Iris doesn't support -EB/-EL like other MIPS processors.  */
                     45: 
                     46: #define ASM_SPEC "\
                     47: %{!mgas: \
                     48:        %{!mrnames: %{!.s:-nocpp} %{.s: %{cpp} %{nocpp}}} \
                     49:        %{pipe: %e-pipe is not supported.} \
                     50:        %{mips1} %{mips2} %{mips3} \
                     51:        %{noasmopt:-O0} \
                     52:        %{!noasmopt:%{O:-O2} %{O1:-O2} %{O2:-O2} %{O3:-O3}} \
                     53:        %{g} %{g0} %{g1} %{g2} %{g3} %{v} %{K} \
                     54:        %{ggdb:-g} %{ggdb0:-g0} %{ggdb1:-g1} %{ggdb2:-g2} %{ggdb3:-g3} \
                     55:        %{gstabs:-g} %{gstabs0:-g0} %{gstabs1:-g1} %{gstabs2:-g2} %{gstabs3:-g3} \
                     56:        %{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
                     57:        %{gcoff:-g} %{gstabs0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}} \
                     58: %{G*}"
                     59: 
                     60: #define LINK_SPEC "\
                     61: %{G*} \
                     62: %{!mgas: %{mips1} %{mips2} %{mips3} \
                     63:         %{bestGnum} %{shared} %{non_shared}}"
                     64: 
                     65: /* Always use 1 for .file number.  I [[email protected]] wonder why
                     66:    IRIS needs this.  */
                     67: 
                     68: #define SET_FILE_NUMBER() num_source_filenames = 1
                     69: 
                     70: /* Put out a label after a .loc.  I [[email protected]] wonder why
                     71:    IRIS needs this.  */
                     72: 
                     73: #define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno)
                     74: 
                     75: #define STACK_ARGS_ADJUST(SIZE)                                         \
                     76: {                                                                       \
                     77:   SIZE.constant += 4;                                                   \
                     78:   if (SIZE.constant < 32)                                              \
                     79:     SIZE.constant = 32;                                                 \
                     80: }
                     81: 
                     82: /* Define this macro to control use of the character `$' in
                     83:    identifier names.  The value should be 0, 1, or 2.  0 means `$'
                     84:    is not allowed by default; 1 means it is allowed by default if
                     85:    `-traditional' is used; 2 means it is allowed by default provided
                     86:    `-ansi' is not used.  1 is the default; there is no need to
                     87:    define this macro in that case. */
                     88: 
                     89: #define DOLLARS_IN_IDENTIFIERS 0
                     90: 
                     91: /* Tell G++ not to create constructors or destructors with $'s in them.  */
                     92: 
                     93: #define NO_DOLLAR_IN_LABEL 1
                     94: 
                     95: /* Specify size_t, ptrdiff_t, and wchar_t types.  */
                     96: #define SIZE_TYPE      "unsigned int"
                     97: #define PTRDIFF_TYPE   "int"
                     98: #define WCHAR_TYPE     "unsigned char"
                     99: #define WCHAR_TYPE_SIZE BITS_PER_UNIT
                    100: 
                    101: /* Generate calls to memcpy, etc., not bcopy, etc.  */
                    102: #define TARGET_MEM_FUNCTIONS
                    103: 
                    104: /* Plain char is unsigned in the SGI compiler.  */
                    105: #define DEFAULT_SIGNED_CHAR 0
                    106: 
                    107: #include "mips/mips.h"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.