Commit graph

433 commits

Author SHA1 Message Date
Wolfgang (Blub) Bumiller
fc7d32a715 fixed: ast_member needs to allow type_vector instead of type_float as base 2012-08-12 11:39:43 +02:00
Wolfgang (Blub) Bumiller
028543db8c ast_binary now keeps track of types 2012-08-12 11:36:28 +02:00
Wolfgang (Blub) Bumiller
5240aa8379 ast_istype should add the TYPE_ prefix 2012-08-12 11:36:15 +02:00
Wolfgang (Blub) Bumiller
b968927074 default case for ir_value_dump's type switch 2012-08-12 11:28:18 +02:00
Wolfgang (Blub) Bumiller
c3cbda8b2b ir_instr_dump to print CALL+paramcountfor calls rather than CALL0 always 2012-08-12 10:19:33 +02:00
Wolfgang (Blub) Bumiller
93d372f222 TYPE_FUNCTION in ir_value_dump to show '(function)' rather than '(void)' 2012-08-12 10:15:27 +02:00
Wolfgang (Blub) Bumiller
2cba6f08fe indentation of ir debug dump functions 2012-08-12 10:14:22 +02:00
Wolfgang (Blub) Bumiller
b20136e5f4 Working vector-field test 2012-08-11 22:14:55 +02:00
Wolfgang (Blub) Bumiller
8b168077c7 IR generation of vector-fields put the 'main' vector offset at the wrong position - fixed that 2012-08-11 22:14:45 +02:00
Wolfgang (Blub) Bumiller
56c23dc11e ast_member_new now fixed up for fields, ast_shallow_type added for creation of a type-only ast_expression 2012-08-11 22:14:16 +02:00
Wolfgang (Blub) Bumiller
060bddb922 same +1 offset in LOAD_V as STOREP fixed 2012-08-11 22:11:08 +02:00
Wolfgang (Blub) Bumiller
c94c36d68b testing writing to multiple fields, including a vector field 2012-08-11 21:18:46 +02:00
Wolfgang (Blub) Bumiller
b36fabe4d7 print builtin now prints all the passed strings, not just the first 2012-08-11 21:18:15 +02:00
Wolfgang (Blub) Bumiller
20831ddc6c fixing address check INSTR_STOREP_V in execloop - it kept us from writing to a vector when it was the last declared entityfield 2012-08-11 21:17:49 +02:00
Wolfgang (Blub) Bumiller
c31c59312b ir_block_create_store/p will now honor -fadjust-vector-fields by using STORE_V/STOREP_V instead of _FLD on vector-fields 2012-08-11 19:38:02 +02:00
Wolfgang (Blub) Bumiller
d4983b0b55 -fadjust-vector-fields 2012-08-11 19:35:08 +02:00
Wolfgang (Blub) Bumiller
bb1f38de5d also generate _y and _z data for fieldpointers 2012-08-11 19:34:58 +02:00
Wolfgang (Blub) Bumiller
228b3cca41 to support .vector's _y and _z we need to add the global-data pointing to _y and _z... 2012-08-11 19:08:23 +02:00
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