PIPS
alias_private.h
Go to the documentation of this file.
1 #ifndef _newgen_alias_private_included
2 #define _newgen_alias_private_included
3 #define _gen_alias_private_start 170
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_entity_domain_defined_)
11 #define _newgen_entity_domain_defined_
12 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
13 #define entity_NEWGEN_DOMAIN (entity_domain)
14 typedef struct _newgen_struct_entity_ * entity;
15 #endif /* _newgen_entity_domain_defined_ */
16 
17 #if !defined(_newgen_expression_domain_defined_)
18 #define _newgen_expression_domain_defined_
19 #define EXPRESSION_NEWGEN_DOMAIN (expression_domain)
20 #define expression_NEWGEN_DOMAIN (expression_domain)
22 #endif /* _newgen_expression_domain_defined_ */
23 
24 #define alias_associations_domain (_gen_alias_private_start+0)
25 #if !defined(_newgen_alias_associations_domain_defined_)
26 #define _newgen_alias_associations_domain_defined_
27 #define ALIAS_ASSOCIATIONS_NEWGEN_DOMAIN (alias_associations_domain)
28 #define alias_associations_NEWGEN_DOMAIN (alias_associations_domain)
30 #endif /* _newgen_alias_associations_domain_defined_ */
31 
32 #define alias_association_domain (_gen_alias_private_start+1)
33 #if !defined(_newgen_alias_association_domain_defined_)
34 #define _newgen_alias_association_domain_defined_
35 #define ALIAS_ASSOCIATION_NEWGEN_DOMAIN (alias_association_domain)
36 #define alias_association_NEWGEN_DOMAIN (alias_association_domain)
38 #endif /* _newgen_alias_association_domain_defined_ */
39 
40 #define call_site_domain (_gen_alias_private_start+2)
41 #if !defined(_newgen_call_site_domain_defined_)
42 #define _newgen_call_site_domain_defined_
43 #define CALL_SITE_NEWGEN_DOMAIN (call_site_domain)
44 #define call_site_NEWGEN_DOMAIN (call_site_domain)
46 #endif /* _newgen_call_site_domain_defined_ */
47 
48 #define dynamic_check_domain (_gen_alias_private_start+3)
49 #if !defined(_newgen_dynamic_check_domain_defined_)
50 #define _newgen_dynamic_check_domain_defined_
51 #define DYNAMIC_CHECK_NEWGEN_DOMAIN (dynamic_check_domain)
52 #define dynamic_check_NEWGEN_DOMAIN (dynamic_check_domain)
54 #endif /* _newgen_dynamic_check_domain_defined_ */
55 
56 /* ALIAS_ASSOCIATIONS
57  */
58 #define ALIAS_ASSOCIATIONS(x) ((alias_associations)((x).p))
59 #define alias_associations_CAST(x) ALIAS_ASSOCIATIONS(x)
60 #define ALIAS_ASSOCIATIONS_CAST(x) ALIAS_ASSOCIATIONS(x)
61 #define ALIAS_ASSOCIATIONS_(x) ((x).e)
62 #define ALIAS_ASSOCIATIONS_TYPE alias_associations
63 #define alias_associations_TYPE alias_associations
64 #define alias_associations_undefined ((alias_associations)gen_chunk_undefined)
65 #define alias_associations_undefined_p(x) ((x)==alias_associations_undefined)
66 
72 #define gen_ALIAS_ASSOCIATIONS_cons gen_alias_associations_cons
79 
83 };
84 
85 #define alias_associations_domain_number(x) ((x)->_type_)
86 #define alias_associations_list(x) ((x)->_alias_associations_holder_)
87 
88 /* ALIAS_ASSOCIATION
89  */
90 #define ALIAS_ASSOCIATION(x) ((alias_association)((x).p))
91 #define alias_association_CAST(x) ALIAS_ASSOCIATION(x)
92 #define ALIAS_ASSOCIATION_CAST(x) ALIAS_ASSOCIATION(x)
93 #define ALIAS_ASSOCIATION_(x) ((x).e)
94 #define ALIAS_ASSOCIATION_TYPE alias_association
95 #define alias_association_TYPE alias_association
96 #define alias_association_undefined ((alias_association)gen_chunk_undefined)
97 #define alias_association_undefined_p(x) ((x)==alias_association_undefined)
98 
104 #define gen_ALIAS_ASSOCIATION_cons gen_alias_association_cons
108 extern void write_alias_association(FILE*, alias_association);
111 
114  entity _alias_association_variable_; /* variable:entity */
115  entity _alias_association_section_; /* section:entity */
116  expression _alias_association_offset_; /* offset:expression */
119  list _alias_association_call_chain_; /* call_chain:call_site* */
120 };
121 
122 #define alias_association_domain_number(x) ((x)->_type_)
123 #define alias_association_variable_(x) alias_association_variable(x) /* old hack compatible */
124 #define alias_association_variable(x) ((x)->_alias_association_variable_)
125 #define alias_association_section_(x) alias_association_section(x) /* old hack compatible */
126 #define alias_association_section(x) ((x)->_alias_association_section_)
127 #define alias_association_offset_(x) alias_association_offset(x) /* old hack compatible */
128 #define alias_association_offset(x) ((x)->_alias_association_offset_)
129 #define alias_association_lower_offset_(x) alias_association_lower_offset(x) /* old hack compatible */
130 #define alias_association_lower_offset(x) ((x)->_alias_association_lower_offset_)
131 #define alias_association_upper_offset_(x) alias_association_upper_offset(x) /* old hack compatible */
132 #define alias_association_upper_offset(x) ((x)->_alias_association_upper_offset_)
133 #define alias_association_call_chain_(x) alias_association_call_chain(x) /* old hack compatible */
134 #define alias_association_call_chain(x) ((x)->_alias_association_call_chain_)
135 
136 /* CALL_SITE
137  */
138 #define CALL_SITE(x) ((call_site)((x).p))
139 #define call_site_CAST(x) CALL_SITE(x)
140 #define CALL_SITE_CAST(x) CALL_SITE(x)
141 #define CALL_SITE_(x) ((x).e)
142 #define CALL_SITE_TYPE call_site
143 #define call_site_TYPE call_site
144 #define call_site_undefined ((call_site)gen_chunk_undefined)
145 #define call_site_undefined_p(x) ((x)==call_site_undefined)
146 
148 extern void free_call_site(call_site);
150 extern bool call_site_consistent_p(call_site);
151 extern bool call_site_defined_p(call_site);
152 #define gen_CALL_SITE_cons gen_call_site_cons
156 extern void write_call_site(FILE*, call_site);
157 extern call_site read_call_site(FILE*);
159 
162  entity _call_site_function_; /* function:entity */
163  intptr_t _call_site_ordering_; /* ordering:int */
164 };
165 
166 #define call_site_domain_number(x) ((x)->_type_)
167 #define call_site_function_(x) call_site_function(x) /* old hack compatible */
168 #define call_site_function(x) ((x)->_call_site_function_)
169 #define call_site_ordering_(x) call_site_ordering(x) /* old hack compatible */
170 #define call_site_ordering(x) ((x)->_call_site_ordering_)
171 
172 /* DYNAMIC_CHECK
173  */
174 #define DYNAMIC_CHECK(x) ((dynamic_check)((x).p))
175 #define dynamic_check_CAST(x) DYNAMIC_CHECK(x)
176 #define DYNAMIC_CHECK_CAST(x) DYNAMIC_CHECK(x)
177 #define DYNAMIC_CHECK_(x) ((x).e)
178 #define DYNAMIC_CHECK_TYPE dynamic_check
179 #define dynamic_check_TYPE dynamic_check
180 #define dynamic_check_undefined ((dynamic_check)gen_chunk_undefined)
181 #define dynamic_check_undefined_p(x) ((x)==dynamic_check_undefined)
182 
184 extern void free_dynamic_check(dynamic_check);
188 #define gen_DYNAMIC_CHECK_cons gen_dynamic_check_cons
192 extern void write_dynamic_check(FILE*, dynamic_check);
193 extern dynamic_check read_dynamic_check(FILE*);
195 
198  entity _dynamic_check_first_; /* first:entity */
199  entity _dynamic_check_second_; /* second:entity */
200  gen_chunk _dynamic_check_checked_; /* checked:bool */
201 };
202 
203 #define dynamic_check_domain_number(x) ((x)->_type_)
204 #define dynamic_check_first_(x) dynamic_check_first(x) /* old hack compatible */
205 #define dynamic_check_first(x) ((x)->_dynamic_check_first_)
206 #define dynamic_check_second_(x) dynamic_check_second(x) /* old hack compatible */
207 #define dynamic_check_second(x) ((x)->_dynamic_check_second_)
208 #define dynamic_check_checked_(x) dynamic_check_checked(x) /* old hack compatible */
209 #define dynamic_check_checked(x) ((x)->_dynamic_check_checked_.b)
210 
211 #define alias_private_spec "\
212 --NEWGEN-START 170\n\
213 import entity from \"ri.newgen\";\n\
214 import expression from \"ri.newgen\";\n\
215 alias_associations = list:alias_association*;\n\
216 alias_association = variable:entity x section:entity x offset:expression x lower_offset:int x upper_offset:int x call_chain:call_site*;\n\
217 call_site = function:entity x ordering:int;\n\
218 dynamic_check = first:entity x second:entity x checked:bool;\n\
219 "
220 #endif
void write_call_site(FILE *, call_site)
void write_alias_associations(FILE *, alias_associations)
Definition: alias_private.c:46
void alias_associations_non_recursive_free(alias_associations)
Definition: alias_private.c:42
dynamic_check check_dynamic_check(dynamic_check)
alias_association copy_alias_association(alias_association)
ALIAS_ASSOCIATION.
Definition: alias_private.c:58
void write_alias_association(FILE *, alias_association)
Definition: alias_private.c:88
void write_dynamic_check(FILE *, dynamic_check)
void dynamic_check_non_recursive_free(dynamic_check)
call_site read_call_site(FILE *)
bool dynamic_check_consistent_p(dynamic_check)
void call_site_assign_contents(call_site, call_site)
void alias_association_non_recursive_free(alias_association)
Definition: alias_private.c:84
bool alias_associations_consistent_p(alias_associations)
Definition: alias_private.c:25
dynamic_check read_dynamic_check(FILE *)
alias_association make_alias_association(entity, entity, expression, intptr_t, intptr_t, list)
Definition: alias_private.c:94
void free_alias_association(alias_association)
Definition: alias_private.c:61
void alias_associations_assign_contents(alias_associations, alias_associations)
Definition: alias_private.c:35
struct _newgen_struct_dynamic_check_ * dynamic_check
Definition: alias_private.h:53
bool alias_associations_defined_p(alias_associations)
Definition: alias_private.c:29
void free_dynamic_check(dynamic_check)
alias_associations copy_alias_associations(alias_associations)
ALIAS_ASSOCIATIONS.
Definition: alias_private.c:16
call_site make_call_site(entity, intptr_t)
call_site copy_call_site(call_site)
CALL_SITE.
void dynamic_check_assign_contents(dynamic_check, dynamic_check)
alias_associations read_alias_associations(FILE *)
Definition: alias_private.c:49
void free_alias_associations(alias_associations)
Definition: alias_private.c:19
bool alias_association_defined_p(alias_association)
Definition: alias_private.c:71
bool dynamic_check_defined_p(dynamic_check)
dynamic_check make_dynamic_check(entity, entity, bool)
list gen_alias_associations_cons(alias_associations, list)
Definition: alias_private.c:32
bool alias_association_consistent_p(alias_association)
Definition: alias_private.c:67
alias_associations make_alias_associations(list)
Definition: alias_private.c:52
list gen_alias_association_cons(alias_association, list)
Definition: alias_private.c:74
alias_association check_alias_association(alias_association)
Definition: alias_private.c:64
bool call_site_defined_p(call_site)
void call_site_non_recursive_free(call_site)
struct _newgen_struct_expression_ * expression
Definition: alias_private.h:21
list gen_dynamic_check_cons(dynamic_check, list)
call_site check_call_site(call_site)
void alias_association_assign_contents(alias_association, alias_association)
Definition: alias_private.c:77
alias_associations check_alias_associations(alias_associations)
Definition: alias_private.c:22
struct _newgen_struct_alias_association_ * alias_association
Definition: alias_private.h:37
struct _newgen_struct_entity_ * entity
Definition: alias_private.h:14
struct _newgen_struct_call_site_ * call_site
Definition: alias_private.h:45
void free_call_site(call_site)
alias_association read_alias_association(FILE *)
Definition: alias_private.c:91
struct _newgen_struct_alias_associations_ * alias_associations
Definition: alias_private.h:29
dynamic_check copy_dynamic_check(dynamic_check)
DYNAMIC_CHECK.
list gen_call_site_cons(call_site, list)
bool call_site_consistent_p(call_site)
#define intptr_t
Definition: stdint.in.h:294
expression _alias_association_offset_
section:entity
intptr_t _alias_association_lower_offset_
offset:expression
entity _alias_association_section_
variable:entity
list _alias_association_call_chain_
upper_offset:int
intptr_t _alias_association_upper_offset_
lower_offset:int
intptr_t _call_site_ordering_
function:entity
entity _dynamic_check_second_
first:entity
gen_chunk _dynamic_check_checked_
second:entity
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
A gen_chunk is used to store every object.
Definition: genC.h:58