Subversion Repositories tendra.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
/* 80x86/localtypes.h */
32
 
33
/**********************************************************************
34
$Author: release $
35
$Date: 1998/01/17 15:55:52 $
36
$Revision: 1.1.1.1 $
37
$Log: localtypes.h,v $
38
 * Revision 1.1.1.1  1998/01/17  15:55:52  release
39
 * First version to be checked into rolling release.
40
 *
41
 * Revision 1.3  1997/04/17  11:55:55  pwe
42
 * dwarf2 improvements
43
 *
44
 * Revision 1.2  1995/01/30  12:56:33  pwe
45
 * Ownership -> PWE, tidy banners
46
 *
47
 * Revision 1.1  1994/10/27  14:15:22  jmf
48
 * Initial revision
49
 *
50
 * Revision 1.1  1994/07/12  14:36:49  jmf
51
 * Initial revision
52
 *
53
**********************************************************************/
54
 
55
#ifndef localtypes_key
56
#define localtypes_key 1
57
 
58
 
59
struct asht {			/* structure definition for ash  */
60
  int  ashsize;	/*  the minimum size in bits of a shape  
61
				*/
62
  int  ashalign;	/* the required alignment in bit units of
63
				   the start of a shape */
64
};
65
 
66
typedef struct asht ash;
67
 
68
struct wht {
69
  exp where_exp;
70
  int  where_off;
71
};
72
 
73
typedef struct wht  where;
74
 
75
struct regut {
76
  int can_do;
77
  int  ru_regs;
78
  int  ru_reg_free;
79
};
80
 
81
typedef struct regut  regu;
82
 
83
struct dclt {
84
  int  dcl_pl;
85
  int  dcl_n;
86
  ash  dcl_place;
87
  int dcl_new;
88
};
89
 
90
typedef struct dclt dcl;
91
 
92
struct frrt {
93
  int  fr_no;
94
  int  regno;
95
};
96
typedef struct frrt frr;
97
 
98
struct specit {
99
  int is_special;
100
  exp special_exp;
101
};
102
typedef struct specit speci;
103
 
104
 
105
 
106
struct regcell_t {int regcell_key;
107
			/* 0 - indetermined
108
			   1 - has first_dest, not second
109
			   2 - has second_dest, not first
110
			   3 - has first_dest and second_dest
111
			   4 - overdetermined
112
			*/
113
                  exp first_dest;
114
                  int first_size;
115
                  exp second_dest;
116
                  int second_size;
117
                 };
118
 
119
typedef struct regcell_t regcell;
120
 
121
typedef regcell reg_record[7];
122
 
123
typedef struct outofline_t {
124
	struct outofline_t * next;
125
	where dest;
126
	ash stack;
127
	exp body;
128
	int regsinuse;
129
	exp jr;
130
	int fstack_pos;
131
	int labno;
132
	int cond1_set;
133
	int cond2_set;
134
	where cond1;
135
	where cond2a;
136
	where cond2b;
137
	int repeat_level;
138
	float scale;
139
#ifdef NEWDWARF
140
	long dw2_hi;
141
	long dw2_slave;
142
#endif
143
} outofline;
144
 
145
 
146
 
147
#endif