Commit graph

415 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
3f234591da testcase for print(ftos(pawn.mema)) slightly changed, now not using a temporary location 2012-08-11 18:09:45 +02:00
Wolfgang (Blub) Bumiller
fda4687ece STOREP also has the destination in OPB rather than OPC 2012-08-11 18:06:10 +02:00
Wolfgang (Blub) Bumiller
91e3765a00 Generating fields using ir_builder_create_field 2012-08-11 18:05:56 +02:00
Wolfgang (Blub) Bumiller
5f2a775d41 generate address of store_return values created with ir_value_out properly 2012-08-11 17:53:41 +02:00
Wolfgang (Blub) Bumiller
cf04b5ed01 Need to keep prog->entities up to date when spawning entities 2012-08-11 17:35:55 +02:00
Wolfgang (Blub) Bumiller
919d73b0a0 experimental support for spawn() in the executor 2012-08-11 17:31:08 +02:00
Wolfgang (Blub) Bumiller
a661536c87 use the correct STORE instruction, make pawn a local 2012-08-11 16:39:04 +02:00
Wolfgang (Blub) Bumiller
062449ecd6 ir_block_create_store_op checks whether or not the storetype is an SSA value - do not do that for storeP instructions 2012-08-11 16:38:17 +02:00
Wolfgang (Blub) Bumiller
7b36bbf7b2 ast macros to use the return value of a call, trying to spawn an entity, setting a member, and reading the member back, using print+ftos to print it then 2012-08-11 16:28:07 +02:00
Wolfgang (Blub) Bumiller
805c08e914 ast macros to create a field, generating fields in ast-test 2012-08-11 16:10:33 +02:00
Wolfgang (Blub) Bumiller
04db054466 -std=gmqcc should add a dot prefix to the globals for fields, the field itself doesn't use the dot prefix for its name though 2012-08-11 16:08:38 +02:00
Wolfgang (Blub) Bumiller
f51ad96620 removing an unused variable 2012-08-11 15:41:37 +02:00
Wolfgang (Blub) Bumiller
1559dedfd9 ir_value_set_field 2012-08-11 15:41:10 +02:00
Wolfgang (Blub) Bumiller
48d330a1e9 unnamed globals in the trace output use [@addr] now instead of [#addr] since # is used as a prefix for all immediates, so now it's less confusing 2012-08-11 11:46:44 +02:00
Wolfgang (Blub) Bumiller
9b2e26a189 don't set globaladdr directly, use a setter, the setter will update the member values used for vector access too 2012-08-11 11:45:26 +02:00
Wolfgang (Blub) Bumiller
b5bee640d0 nicer trace output, strings now get escaped 2012-08-11 11:31:50 +02:00
Wolfgang (Blub) Bumiller
9c2e6a2334 Experimental ast_member to access vector members 2012-08-08 14:49:37 +02:00
Wolfgang (Blub) Bumiller
8dccf69060 fix the chack for -Wno- and -fno-, it needs to use NO_ instead of no- 2012-08-08 12:43:02 +02:00
Wolfgang (Blub) Bumiller
babc6d209e Add WARN_ prefix to warnings enum 2012-08-08 12:25:19 +02:00
Wolfgang (Blub) Bumiller
2bf40b4104 include opts_debug and opts_memchk in exec.c's standalone part for now to have it compile 2012-08-08 12:07:37 +02:00
Wolfgang (Blub) Bumiller
7fed5bf41f make it also compilable with -std=c99 by not redefining extra_semicolon_, by appending N to it 2012-07-30 13:48:53 +02:00
Wolfgang Bumiller
47a8a69f1c ast nodes now store their type id, and can be checked via ast_istype 2012-07-29 10:03:13 +02:00
Wolfgang Bumiller
03307a0903 ir_block_create_fieldaddress to pass on fieldtype from its input field 2012-07-28 21:59:34 +02:00
Wolfgang Bumiller
06ee0dc4f7 test/ast-test.c must define opts_ variables since we don't compile main.c into it 2012-07-28 21:56:35 +02:00
Wolfgang Bumiller
d05bee94d1 code_alloc_field to allocate entityfield data, ir now has ir_builder_create_field - so that globals and fields can be created separately - properly 2012-07-28 21:55:01 +02:00
Wolfgang Bumiller
a7957a9fdc Merge branch 'master' into cmdline 2012-07-28 21:04:59 +02:00
Wolfgang Bumiller
9216ee50f5 use util_ functions for strtocmd and strtononcmd 2012-07-28 19:31:14 +02:00
Wolfgang Bumiller
93105d4c2c Added missing parameter names 2012-07-28 19:31:02 +02:00
Wolfgang Bumiller
3321748e4a util_strtocmd, util_strtononcmd 2012-07-28 19:28:27 +02:00
Wolfgang Bumiller
c81eb57480 reuse old opts_, renamed all opt_ to opts_ to be consistent, making code.c use OPTS_FLAG() for OMIT_NULL_BYTES and DARKPLACES_STRING_TABLE_BUG 2012-07-28 19:20:19 +02:00
Wolfgang Bumiller
25e49a669d flags.def and warns.def containing defined flags and warnings 2012-07-28 19:09:44 +02:00
Wolfgang Bumiller
c5ba27da6f ast_store to take ast_expression on its left, rather than ast_value. Assigning to a vector member would not put an ast_value on the left, but an ast_member, thus: ast_expression now already 2012-07-28 18:13:12 +02:00
Wolfgang Bumiller
17643c9940 consistency ftw 2012-07-28 15:57:28 +02:00
Wolfgang Bumiller
bddf0bb384 -fhelp to list -f flags, -Whelp to list -W options 2012-07-28 14:50:07 +02:00
Wolfgang Bumiller
ac26c2f2f2 Add -foverlap-locals - something we really should make possible 2012-07-28 14:48:02 +02:00
Wolfgang Bumiller
3072ce7eba Added handler for -W 2012-07-28 13:59:35 +02:00
Wolfgang Bumiller
d06cc6c2d1 Fixing a warning 2012-07-28 13:50:12 +02:00
Wolfgang Bumiller
244e6a0a4d Importing gmqcc.1 2012-07-28 13:47:14 +02:00
Wolfgang Bumiller
5e026dd62a Print out all the information parsed from the commandline 2012-07-28 13:20:06 +02:00
Wolfgang Bumiller
ddfd44e2a4 gcc style long option support and -std=foo added 2012-07-28 12:59:33 +02:00
Wolfgang Bumiller
3c462539a6 Commandline handling first draft 2012-07-28 12:36:20 +02:00
Wolfgang Bumiller
10d70328c8 executor: prog_delete: deleting builtins properly - unless statically allocated; added a qc_builtins array for the standalone executor containing 'print' 2012-07-27 19:27:56 +02:00
Wolfgang Bumiller
5f0a6bcc53 _MEM_ -> MEM_ again at use 2012-07-27 19:18:04 +02:00
Wolfgang Bumiller
f8b3081c44 Merging master and adapting _MEM_* on new mem-vector functions 2012-07-27 19:13:03 +02:00
Wolfgang Bumiller
81fd77da38 _MEM_... -> MEM_... 2012-07-27 19:02:18 +02:00
Wolfgang Bumiller
42168fde00 removing an old comment 2012-07-27 15:27:34 +02:00
Wolfgang Bumiller
2674982854 Moving parameters to from ast_value to ast_expression_common, it's part of the type after all 2012-07-27 15:22:39 +02:00
Wolfgang Bumiller
ab11808208 ast_block_set_type 2012-07-27 13:39:58 +02:00
Wolfgang Bumiller
1f8ece7f20 ast_return_new doesn't take an operator, we use INSTR_RETURN always, never INSTR_DONE for explicit returns 2012-07-26 23:23:47 +02:00
Wolfgang Bumiller
b4225ea98a INSTR_NOT_* output to opC not opB... 2012-07-26 22:11:46 +02:00