Commit graph

27 commits

Author SHA1 Message Date
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
Renamed from ast.c (Browse further)