Annotation of gcc/config/mips/iris3.h, revision 1.1.1.4

1.1       root        1: /* Definitions of target machine for GNU compiler.  Iris version.
1.1.1.4 ! root        2:    Copyright (C) 1991, 1993, 1995 Free Software Foundation, Inc.
1.1       root        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
1.1.1.4 ! root       18: the Free Software Foundation, 59 Temple Place - Suite 330,
        !            19: Boston, MA 02111-1307, USA.  */
1.1       root       20: 
                     21: #define SGI_TARGET 1           /* inform other mips files this is SGI */
                     22: 
                     23: /* Names to predefine in the preprocessor for this target machine.  */
                     24: 
1.1.1.2   root       25: #define CPP_PREDEFINES "\
                     26: -Dunix -Dmips -Dsgi -DSVR3 -Dhost_mips -DMIPSEB -DSYSTYPE_SYSV \
                     27: -Asystem(unix) -Asystem(svr3) -Acpu(mips) -Amachine(mips)"
1.1       root       28: 
                     29: #define STARTFILE_SPEC "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"
                     30: 
                     31: #define CPP_SPEC "\
                     32: %{!ansi:-D__EXTENSIONS__} -D_MIPSEB -D_SYSTYPE_SYSV \
                     33: %{.S:  -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
1.1.1.2   root       34: %{.s:  -D_LANGUAGE_ASSEMBLY %{!ansi:-DLANGUAGE_ASSEMBLY}} \
1.1       root       35: %{.cc: -D_LANGUAGE_C_PLUS_PLUS} \
                     36: %{.cxx:        -D_LANGUAGE_C_PLUS_PLUS} \
                     37: %{.C:  -D_LANGUAGE_C_PLUS_PLUS} \
                     38: %{.m:  -D_LANGUAGE_OBJECTIVE_C} \
1.1.1.3   root       39: %{!.S: %{!.s: %{!.cc: %{!.cxx: %{!.C: %{!.m: -D_LANGUAGE_C %{!ansi:-DLANGUAGE_C}}}}}}} \
                     40: %{mlong64:-D__SIZE_TYPE__=long\\ unsigned\\ int -D__PTRDIFF_TYPE__=long\\ int} \
                     41: %{!mlong64:-D__SIZE_TYPE__=unsigned\\ int -D__PTRDIFF_TYPE__=int} \
1.1.1.4 ! root       42: %{mips3:-U__mips -D__mips=3 -D__mips64} \
        !            43: %{mgp32:-U__mips64} %{mgp64:-D__mips64} \
        !            44: %{EB:-UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__ -D_MIPSEB -D__MIPSEB -D__MIPSEB__ %{!ansi:-DMIPSEB}} \
        !            45: %{EL:-UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__ -D_MIPSEL -D__MIPSEL -D__MIPSEL__ %{!ansi:-DMIPSEL}}"
1.1       root       46: 
1.1.1.3   root       47: #define LIB_SPEC       \
                     48:        "%{!p:%{!pg:%{!static:%{!g*:-lc_s}} -lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"
1.1       root       49: 
                     50: #define MACHINE_TYPE   "Silicon Graphics Mips"
                     51: 
                     52: /* Always use 1 for .file number.  I [[email protected]] wonder why
                     53:    IRIS needs this.  */
                     54: 
                     55: #define SET_FILE_NUMBER() num_source_filenames = 1
                     56: 
                     57: /* Put out a label after a .loc.  I [[email protected]] wonder why
                     58:    IRIS needs this.  */
                     59: 
                     60: #define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno)
                     61: 
                     62: #define STACK_ARGS_ADJUST(SIZE)                                         \
                     63: {                                                                       \
                     64:   SIZE.constant += 4;                                                   \
                     65:   if (SIZE.constant < 32)                                              \
                     66:     SIZE.constant = 32;                                                 \
                     67: }
                     68: 
                     69: /* Define this macro to control use of the character `$' in
                     70:    identifier names.  The value should be 0, 1, or 2.  0 means `$'
                     71:    is not allowed by default; 1 means it is allowed by default if
                     72:    `-traditional' is used; 2 means it is allowed by default provided
                     73:    `-ansi' is not used.  1 is the default; there is no need to
                     74:    define this macro in that case. */
                     75: 
                     76: #define DOLLARS_IN_IDENTIFIERS 0
                     77: 
                     78: /* Tell G++ not to create constructors or destructors with $'s in them.  */
                     79: 
                     80: #define NO_DOLLAR_IN_LABEL 1
                     81: 
1.1.1.3   root       82: /* Specify wchar_t type.  */
1.1       root       83: #define WCHAR_TYPE     "unsigned char"
                     84: #define WCHAR_TYPE_SIZE BITS_PER_UNIT
                     85: 
                     86: /* Generate calls to memcpy, etc., not bcopy, etc.  */
                     87: #define TARGET_MEM_FUNCTIONS
                     88: 
                     89: /* Plain char is unsigned in the SGI compiler.  */
                     90: #define DEFAULT_SIGNED_CHAR 0
                     91: 
                     92: #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.