1*47934Sbostic /*- 2*47934Sbostic * Copyright (c) 1991 The Regents of the University of California. 3*47934Sbostic * All rights reserved. 4*47934Sbostic * 5*47934Sbostic * %sccs.include.proprietary.c% 6*47934Sbostic * 7*47934Sbostic * @(#)machdefs.h 5.1 (Berkeley) 04/12/91 8*47934Sbostic */ 9*47934Sbostic 10*47934Sbostic /* 11*47934Sbostic * machdefs.h 12*47934Sbostic * 13*47934Sbostic * Machine definitions for f77 compiler, pass 1. VAX version. 14*47934Sbostic * 15*47934Sbostic * University of Utah CS Dept modification history: 16*47934Sbostic * 17*47934Sbostic * $Header: /usr/src/pgrm/f77/include.vax/RCS/machdefs.h,v 2.3 91/04/12 14:36:00 bostic Exp $ 18*47934Sbostic * $Log: machdefs.h,v $ 19*47934Sbostic * Revision 2.3 91/04/12 14:36:00 bostic 20*47934Sbostic * new copyright; att/bsd/shared 21*47934Sbostic * 22*47934Sbostic * Revision 2.2 85/01/14 03:41:13 donn 23*47934Sbostic * Added changes to make the storage used for constants that are passed 24*47934Sbostic * as arguments to functions come out read-only. 25*47934Sbostic * 26*47934Sbostic * Revision 2.1 84/07/19 12:55:11 donn 27*47934Sbostic * Changed comment header to UofU. 28*47934Sbostic * 29*47934Sbostic * Revision 1.3 84/07/02 12:04:42 donn 30*47934Sbostic * I goofed when I added the original changes for SZFLOAT and SZDOUBLE. 31*47934Sbostic * Thanks to Raleigh Romine for pointing this out (sigh). 32*47934Sbostic * 33*47934Sbostic * Revision 1.2 84/02/28 20:46:16 donn 34*47934Sbostic * Added definitions for SZFLOAT and SZDOUBLE, needed by Berkeley changes to 35*47934Sbostic * produce shorter offsets to variables in machine code. 36*47934Sbostic * 37*47934Sbostic */ 38*47934Sbostic 39*47934Sbostic #ifndef TARGET 40*47934Sbostic TARGET NOT DEFINED !!! 41*47934Sbostic #endif 42*47934Sbostic #if TARGET!=VAX 43*47934Sbostic Target= TARGET OUT OF RANGE!! 44*47934Sbostic #endif 45*47934Sbostic 46*47934Sbostic #ifndef FAMILY 47*47934Sbostic FAMILY NOT DEFINED!!! 48*47934Sbostic #endif 49*47934Sbostic #if FAMILY!=PCC && FAMILY!=DMR 50*47934Sbostic Family = FAMILY OUT OF RANGE 51*47934Sbostic #endif 52*47934Sbostic 53*47934Sbostic #define SDB 1 54*47934Sbostic 55*47934Sbostic #define TYLENG TYLONG 56*47934Sbostic 57*47934Sbostic #define TYINT TYLONG 58*47934Sbostic #define SZADDR 4 59*47934Sbostic #define SZSHORT 2 60*47934Sbostic #define SZINT 4 61*47934Sbostic #define SZFLOAT 4 62*47934Sbostic #define SZDOUBLE 8 63*47934Sbostic 64*47934Sbostic #define SZLONG 4 65*47934Sbostic #define SZLENG SZLONG 66*47934Sbostic 67*47934Sbostic #define ALIADDR SZADDR 68*47934Sbostic #define ALISHORT SZSHORT 69*47934Sbostic #define ALILONG 4 70*47934Sbostic #define ALIDOUBLE 4 71*47934Sbostic #define ALIINT ALILONG 72*47934Sbostic #define ALILENG ALILONG 73*47934Sbostic 74*47934Sbostic #define AUTOREG 13 75*47934Sbostic #define ARGREG 12 76*47934Sbostic #define CARGREG 12 77*47934Sbostic #define ARGOFFSET 4 78*47934Sbostic #define SAVESPACE 40 79*47934Sbostic 80*47934Sbostic 81*47934Sbostic #define FUDGEOFFSET 1 82*47934Sbostic #define BITSPERCHAR 8 83*47934Sbostic #define XL 16 84*47934Sbostic 85*47934Sbostic #define USETEXT ".text\t0" 86*47934Sbostic #define USECONST ".text\t1" 87*47934Sbostic #define USEBSS ".data\t0" 88*47934Sbostic #define USEINIT ".data\t1" 89*47934Sbostic 90*47934Sbostic #define BLANKCOMMON "_BLNK_" 91*47934Sbostic 92*47934Sbostic #define LABELFMT "%s:\n" 93*47934Sbostic 94*47934Sbostic #define MAXREGVAR 5 95*47934Sbostic #define TYIREG TYLONG 96*47934Sbostic #define MSKIREG (M(TYSHORT)|M(TYLONG)) 97*47934Sbostic 98*47934Sbostic #define MAXINT 2147483647 99*47934Sbostic #define MININT ((-2147483647) - 1) 100*47934Sbostic 101*47934Sbostic #define MAXBYTE 255 102*47934Sbostic #define BYTESIZE 8 103*47934Sbostic 104*47934Sbostic #define SMALLVAR(x) ((x) < 512) 105