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