Commit graph

958 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
d3492d4a13 Fix indentation of lexer.c - was still using some tabs there 2012-08-18 14:27:19 +02:00
Wolfgang (Blub) Bumiller
bc94d3f5b8 lexer now turns '(' into an operator if noops=false 2012-08-18 14:26:25 +02:00
Wolfgang (Blub) Bumiller
1a2c3c505c debug warn def on top of the flag list 2012-08-18 14:23:38 +02:00
Wolfgang (Blub) Bumiller
7ecd9714b0 add the type of whatever is 'not a function' to that error message 2012-08-18 12:45:51 +02:00
Wolfgang (Blub) Bumiller
a74b26a9bc Add an error output in the ast where I missed one (there are probably more places which need one) 2012-08-18 12:45:29 +02:00
Wolfgang (Blub) Bumiller
39f37262db add LOAD for TYPE_FUNCTION as LOAD_FNC so we can actually access function fields 2012-08-18 12:44:17 +02:00
Wolfgang (Blub) Bumiller
6b1a0541c9 parser_strdup to wrap util_strdup and actually dup empty strings 2012-08-18 12:26:21 +02:00
Wolfgang (Blub) Bumiller
076503770d Support for $modelname and $framerestore 2012-08-16 21:02:56 +02:00
Wolfgang (Blub) Bumiller
3b9a6b3ace Don't expand frame macros when they don't have a $ prefix 2012-08-16 20:49:58 +02:00
Wolfgang (Blub) Bumiller
e00c8da849 Added support for some modelgen/spritegen commands 2012-08-16 20:47:31 +02:00
Wolfgang (Blub) Bumiller
91ee7658a6 '$' is now its own token, used for modeldata 2012-08-16 20:03:53 +02:00
Wolfgang (Blub) Bumiller
bf161e3919 data/fields.qc now tests fieldpointer parameters - requires -std=qcc to build 2012-08-16 16:39:43 +02:00
Wolfgang (Blub) Bumiller
84bc8f3662 CALL instructions need to offset the st++ too 2012-08-16 16:38:57 +02:00
Wolfgang (Blub) Bumiller
32c095b622 Fix a possible endless loop in ir_values_overlap 2012-08-16 16:38:36 +02:00
Wolfgang (Blub) Bumiller
1bc6d10898 entityfield tests 2012-08-16 16:29:41 +02:00
Wolfgang (Blub) Bumiller
9f951e36a9 prog_leavefunction needs to take the ++st into account - otherwise INSTR_RETURN ends up skipping the instruction after the calling INSTR_CALL 2012-08-16 16:28:59 +02:00
Wolfgang (Blub) Bumiller
54dcbc22bf NOT for entity, function and string - we're not constant-folding it for functions and entities right now 2012-08-16 16:24:47 +02:00
Wolfgang (Blub) Bumiller
31a8cd80c8 unary NOT operator for float and vector 2012-08-16 16:21:19 +02:00
Wolfgang (Blub) Bumiller
1a3a0014c5 even in non-qcc mode we need to search the variables for fields because of field-pointers 2012-08-16 16:21:09 +02:00
Wolfgang (Blub) Bumiller
7c731b70cf verbose error about unhandled operators 2012-08-16 16:07:00 +02:00
Wolfgang (Blub) Bumiller
7bc564f175 lexer: recognize != as operator when noops=false 2012-08-16 16:06:12 +02:00
Wolfgang (Blub) Bumiller
d81ef81246 Fix an error message 2012-08-16 15:59:09 +02:00
Wolfgang (Blub) Bumiller
98567e20f3 print a proper error message when a function lacks a body 2012-08-16 15:31:46 +02:00
Wolfgang (Blub) Bumiller
ec439d7880 Allow fieldpointer parameters in functions, allow function fields again 2012-08-16 15:27:06 +02:00
Wolfgang (Blub) Bumiller
1c81c27cee activate -Wfield-redeclared by default 2012-08-16 15:15:46 +02:00
Wolfgang (Blub) Bumiller
47243d0df1 allow redeclaration of fields, but warn about them 2012-08-16 15:14:39 +02:00
Wolfgang (Blub) Bumiller
5a383ac2b0 Reorganizing expression parsing to allow prefix-operators like unary minus 2012-08-16 15:11:03 +02:00
Wolfgang (Blub) Bumiller
c1bafe3d09 OP_PREFIX flag for ~ and ! 2012-08-16 14:24:12 +02:00
Wolfgang (Blub) Bumiller
c4730b405b unary - operator implemented, adding imm_vector_zero and imm_float_zero since those should be accessible quickly 2012-08-16 14:23:18 +02:00
Wolfgang (Blub) Bumiller
8dfba4db6d -_- file->filename 2012-08-16 14:05:04 +02:00
Wolfgang (Blub) Bumiller
0d9435d326 util_fopen... 2012-08-16 14:01:47 +02:00
Wolfgang (Blub) Bumiller
2c020837ea fopen -> fopen_s on windows 2012-08-16 13:45:45 +02:00
Wolfgang (Blub) Bumiller
812cb5be64 sscanf -> sscanf_s on windows 2012-08-16 13:44:53 +02:00
Wolfgang (Blub) Bumiller
c3bcfe84b0 strcpy->memcpy in util_getline 2012-08-16 13:01:30 +02:00
Wolfgang (Blub) Bumiller
0c74f8fdb9 make the 'vector' type use qcfloat instead of float 2012-08-16 12:58:54 +02:00
Wolfgang (Blub) Bumiller
b3d4e406ec it's not undefined, stupid 2012-08-16 12:58:26 +02:00
Wolfgang (Blub) Bumiller
78971ab85a cast mem_a returns in util_getline 2012-08-16 12:38:00 +02:00
Wolfgang (Blub) Bumiller
ba1886ad31 add some missing casts to some mem_a 2012-08-16 12:34:28 +02:00
Wolfgang (Blub) Bumiller
d9da4d11b1 Shutup visual studio... 2012-08-16 12:32:01 +02:00
Wolfgang (Blub) Bumiller
61605636d1 Replacing execloop.h ... wish I could just use a copy of DP's execloop, I hate licenses 2012-08-16 12:10:24 +02:00
Wolfgang (Blub) Bumiller
2594274fe6 include stdio.h in exec.c for snprintf... 2012-08-16 11:36:28 +02:00
Wolfgang (Blub) Bumiller
470fc68b06 don't try to access function-local functions outside of functions... 2012-08-16 11:36:16 +02:00
Wolfgang (Blub) Bumiller
dd995a8ee2 test for constants 2012-08-16 11:34:11 +02:00
Wolfgang (Blub) Bumiller
2a7e7046d9 assigning values to constant globals 2012-08-16 11:33:29 +02:00
Wolfgang (Blub) Bumiller
9430332ae5 ir.c: strcmp->memcpy 2012-08-15 17:02:48 +02:00
Wolfgang (Blub) Bumiller
b7f9b20a2b strpcy->memcpy 2012-08-15 17:01:16 +02:00
Wolfgang (Blub) Bumiller
acdafc200d parser_finish needs to be called in progs.src mode as well 2012-08-15 17:01:09 +02:00
Wolfgang (Blub) Bumiller
42e2102839 remove MEM_VECTOR_INIT - the memset does it all, don't give a false sense of initialization since it wasn't complete anyway 2012-08-15 12:13:15 +02:00
Wolfgang (Blub) Bumiller
5b4c7a67a7 Merge branch 'master' of git://github.com/graphitemaster/gmqcc 2012-08-15 12:11:45 +02:00
Wolfgang (Blub) Bumiller
e5124ecf2f Fix memset on the parser... 2012-08-15 12:11:15 +02:00