Wolfgang Bumiller
0b94d7583c
fix access to fields of vector members
...
When ast_member encounters the result of an ast_entfield it
has to replace the ast_entfield's codegen as we cannot
evaluate the field access first.
We then perform the same action as ast_entfield but call
vectorMember on the field before issuing the load/address
instruction.
This effectively turns the codegen of the following ast
structure:
member_of {
field_of {
entity,
a_vector
}
memberid
}
into the one of this structure:
field_of {
entity,
member_of {
a_vector
memberid
}
}
2016-11-19 16:22:18 +01:00
Wolfgang Bumiller
ee3c1e43c9
tempcommitting a whole bunch of to-c++ conversions
2015-05-02 09:48:24 +02:00
Wolfgang Bumiller
6d4539814e
ast_unary::make: safer double-negation optimization check
2015-02-01 12:13:05 +01:00
Wolfgang Bumiller
896d4c53a3
fix backward propagateSideEffect impl
2015-02-01 12:12:40 +01:00
Wolfgang Bumiller
d8e9b1b35d
destructor call order is important here
2015-02-01 11:52:58 +01:00
Wolfgang Bumiller
45236a644f
ast conversion mostly finished
2015-02-01 11:44:00 +01:00
Wolfgang Bumiller
9335bc2f4f
BROKEN: more ast nodes converted
2015-01-29 20:29:34 +01:00
Wolfgang Bumiller
6149f6a1d0
BROKEN: in the middle of converting ast nodes to c++ with constructors and methods
2015-01-25 09:24:26 +01:00
Wolfgang Bumiller
9d98805dfb
a whole lotta 'm_'s
2015-01-24 12:25:46 +01:00
Wolfgang Bumiller
5968e3faa0
for now just call the dtors like this
2015-01-20 20:33:07 +01:00
Wolfgang Bumiller
566e761546
more c++ migration for ast/ir/code; reached a working condition here
2015-01-20 20:25:56 +01:00
Wolfgang Bumiller
f09c6a5d63
temp committing major c++ification
2015-01-20 16:43:58 +01:00
Wolfgang Bumiller
794396df79
making ast nodes derive from ast_expression
2015-01-19 14:00:04 +01:00
Wolfgang Bumiller
dedb3a49bd
ast_expression: params -> type_params
2015-01-19 13:46:10 +01:00
Wolfgang Bumiller
9535805c02
renaming ast_function::vtype to function_type
2015-01-19 13:37:22 +01:00
Wolfgang Bumiller
44b0d7f658
ast_expression now derives from ast_node
2015-01-19 13:33:39 +01:00
Wolfgang Bumiller
1826971301
renaming some ast_node members before making ast_expression an ast_node to use the compiler to help find possible clashes
2015-01-19 13:32:26 +01:00
Dale Weiler
db9c37d18b
Rewrite constant folder in C++
2015-01-15 20:27:17 -05:00
Dale Weiler
76278e8b97
s/NULL/nullptr/
2015-01-15 15:18:33 -05:00
Dale Weiler
6e68526680
Use std::vector for static_names
2015-01-15 15:15:35 -05:00
Dale Weiler
a1f13499f9
Use std::vector for break and continue ast blocks
2015-01-15 14:22:22 -05:00
Dale Weiler
539dc4a3dc
Use std::vector for ast switch cases
2015-01-15 14:19:07 -05:00
Dale Weiler
2e037832d3
Use std::vector for ast blocks
2015-01-15 14:15:44 -05:00
Dale Weiler
987f765c20
std::vector for initlist
2015-01-15 14:07:26 -05:00
Dale Weiler
4de08db0e7
More std::vector migration
2015-01-14 23:45:00 -05:00
Dale Weiler
67a3c9b031
Initial movement to std::vector
2015-01-14 23:34:43 -05:00
Dale Weiler
65362d93aa
.c -> .cpp
2015-01-14 21:48:47 -05:00