Annotation of gcc/config/iris.h, revision 1.1.1.3

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

unix.superglobalmegacorp.com

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