An Improved Quake C Compiler
Find a file
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
doc Remove all the support stuff 2015-01-13 21:26:44 -05:00
misc Remove msvc project files and misc stuff 2015-01-13 21:28:26 -05:00
tests fix access to fields of vector members 2016-11-19 16:22:18 +01:00
.gitattributes gitattributes for whitespace 2012-04-28 16:40:03 -04:00
.gitignore update .gitignore 2016-02-10 19:01:12 +01:00
.travis.yml Make travis update to newer compilers 2015-01-14 21:54:41 -05:00
algo.h more c++ migration for ast/ir/code; reached a working condition here 2015-01-20 20:25:56 +01:00
ast.cpp fix access to fields of vector members 2016-11-19 16:22:18 +01:00
ast.h fix backward propagateSideEffect impl 2015-02-01 12:12:40 +01:00
AUTHORS s/brian/brain/ ;) 2013-11-30 12:31:21 +04:00
CMakeLists.txt Add CMakeLists.txt 2016-01-03 17:14:02 +11:00
code.cpp more c++ migration for ast/ir/code; reached a working condition here 2015-01-20 20:25:56 +01:00
conout.cpp ast conversion mostly finished 2015-02-01 11:44:00 +01:00
exec.cpp Merge branch 'master' into cleanup 2016-01-02 22:30:35 -05:00
fold.cpp Warning 2016-05-23 16:47:40 -04:00
fold.h ast conversion mostly finished 2015-02-01 11:44:00 +01:00
ftepp.cpp s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00
gmqcc.h ast conversion mostly finished 2015-02-01 11:44:00 +01:00
gmqcc.ini.example manpage/init: -fsplit-vector-parameters description 2014-10-18 14:39:14 +02:00
intrin.cpp ast conversion mostly finished 2015-02-01 11:44:00 +01:00
intrin.h temp committing major c++ification 2015-01-20 16:43:58 +01:00
ir.cpp Revert "Fix ent.vec.{x,y,z} writes" 2016-11-19 16:22:13 +01:00
ir.h tempcommitting a whole bunch of to-c++ conversions 2015-05-02 09:48:24 +02:00
lexer.cpp temp committing major c++ification 2015-01-20 16:43:58 +01:00
lexer.h temp committing major c++ification 2015-01-20 16:43:58 +01:00
LICENSE Update license headers 2015-01-09 14:53:35 -05:00
main.cpp s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00
Makefile Fixes 2016-01-03 00:38:58 -05:00
opts.cpp s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00
opts.def More cleanup 2015-01-13 21:46:52 -05:00
parser.cpp Unused globals even if they have an initial value should produce unused diagnostic 2016-11-19 10:05:58 +00:00
parser.h Rewrite constant folder in C++ 2015-01-15 20:27:17 -05:00
README Minifi README 2015-01-13 21:30:23 -05:00
stat.cpp s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00
test.cpp Merge branch 'master' into cleanup 2016-01-02 22:30:35 -05:00
utf8.cpp .c -> .cpp 2015-01-14 21:48:47 -05:00
util.cpp s/NULL/nullptr/ 2015-01-15 15:18:33 -05:00

An improved QuakeC compiler