1 #ifndef _newgen_alias_private_included
2 #define _newgen_alias_private_included
3 #define _gen_alias_private_start 170
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)
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)
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)
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)
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)
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)
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)
72 #define gen_ALIAS_ASSOCIATIONS_cons gen_alias_associations_cons
85 #define alias_associations_domain_number(x) ((x)->_type_)
86 #define alias_associations_list(x) ((x)->_alias_associations_holder_)
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)
104 #define gen_ALIAS_ASSOCIATION_cons gen_alias_association_cons
122 #define alias_association_domain_number(x) ((x)->_type_)
123 #define alias_association_variable_(x) alias_association_variable(x)
124 #define alias_association_variable(x) ((x)->_alias_association_variable_)
125 #define alias_association_section_(x) alias_association_section(x)
126 #define alias_association_section(x) ((x)->_alias_association_section_)
127 #define alias_association_offset_(x) alias_association_offset(x)
128 #define alias_association_offset(x) ((x)->_alias_association_offset_)
129 #define alias_association_lower_offset_(x) alias_association_lower_offset(x)
130 #define alias_association_lower_offset(x) ((x)->_alias_association_lower_offset_)
131 #define alias_association_upper_offset_(x) alias_association_upper_offset(x)
132 #define alias_association_upper_offset(x) ((x)->_alias_association_upper_offset_)
133 #define alias_association_call_chain_(x) alias_association_call_chain(x)
134 #define alias_association_call_chain(x) ((x)->_alias_association_call_chain_)
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)
152 #define gen_CALL_SITE_cons gen_call_site_cons
166 #define call_site_domain_number(x) ((x)->_type_)
167 #define call_site_function_(x) call_site_function(x)
168 #define call_site_function(x) ((x)->_call_site_function_)
169 #define call_site_ordering_(x) call_site_ordering(x)
170 #define call_site_ordering(x) ((x)->_call_site_ordering_)
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)
188 #define gen_DYNAMIC_CHECK_cons gen_dynamic_check_cons
203 #define dynamic_check_domain_number(x) ((x)->_type_)
204 #define dynamic_check_first_(x) dynamic_check_first(x)
205 #define dynamic_check_first(x) ((x)->_dynamic_check_first_)
206 #define dynamic_check_second_(x) dynamic_check_second(x)
207 #define dynamic_check_second(x) ((x)->_dynamic_check_second_)
208 #define dynamic_check_checked_(x) dynamic_check_checked(x)
209 #define dynamic_check_checked(x) ((x)->_dynamic_check_checked_.b)
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\
void write_call_site(FILE *, call_site)
void write_alias_associations(FILE *, alias_associations)
void alias_associations_non_recursive_free(alias_associations)
dynamic_check check_dynamic_check(dynamic_check)
alias_association copy_alias_association(alias_association)
ALIAS_ASSOCIATION.
void write_alias_association(FILE *, alias_association)
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)
bool alias_associations_consistent_p(alias_associations)
dynamic_check read_dynamic_check(FILE *)
alias_association make_alias_association(entity, entity, expression, intptr_t, intptr_t, list)
void free_alias_association(alias_association)
void alias_associations_assign_contents(alias_associations, alias_associations)
struct _newgen_struct_dynamic_check_ * dynamic_check
bool alias_associations_defined_p(alias_associations)
void free_dynamic_check(dynamic_check)
alias_associations copy_alias_associations(alias_associations)
ALIAS_ASSOCIATIONS.
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 *)
void free_alias_associations(alias_associations)
bool alias_association_defined_p(alias_association)
bool dynamic_check_defined_p(dynamic_check)
dynamic_check make_dynamic_check(entity, entity, bool)
list gen_alias_associations_cons(alias_associations, list)
bool alias_association_consistent_p(alias_association)
alias_associations make_alias_associations(list)
list gen_alias_association_cons(alias_association, list)
alias_association check_alias_association(alias_association)
bool call_site_defined_p(call_site)
void call_site_non_recursive_free(call_site)
struct _newgen_struct_expression_ * expression
list gen_dynamic_check_cons(dynamic_check, list)
call_site check_call_site(call_site)
void alias_association_assign_contents(alias_association, alias_association)
alias_associations check_alias_associations(alias_associations)
struct _newgen_struct_alias_association_ * alias_association
struct _newgen_struct_entity_ * entity
struct _newgen_struct_call_site_ * call_site
void free_call_site(call_site)
alias_association read_alias_association(FILE *)
struct _newgen_struct_alias_associations_ * alias_associations
dynamic_check copy_dynamic_check(dynamic_check)
DYNAMIC_CHECK.
list gen_call_site_cons(call_site, list)
bool call_site_consistent_p(call_site)
expression _alias_association_offset_
section:entity
entity _alias_association_variable_
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
list _alias_associations_holder_
entity _call_site_function_
intptr_t _call_site_ordering_
function:entity
entity _dynamic_check_first_
entity _dynamic_check_second_
first:entity
gen_chunk _dynamic_check_checked_
second:entity
The structure used to build lists in NewGen.
A gen_chunk is used to store every object.