]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 18:21:21 +0000 (20:21 +0200)]
after a closing paren another operator has to be expected again
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 18:13:14 +0000 (20:13 +0200)]
some debug outputs which can be activated via a define, fixing a bug where the shunting yard tries to apply operators when there are none left
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 18:12:32 +0000 (20:12 +0200)]
return an error code at exit after compile errors
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 17:29:18 +0000 (19:29 +0200)]
it's a member of entity, not of a field...
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 17:24:08 +0000 (19:24 +0200)]
-std=gmqcc way to handle fields by 'namespace'
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 17:02:52 +0000 (19:02 +0200)]
without -std=gmqcc fields are accessible anywhere where globals are
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 17:00:44 +0000 (19:00 +0200)]
Recognize a dot as operator when not in 'no-ops' mode in the lexer
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 16:58:46 +0000 (18:58 +0200)]
don't rewind local variables too far
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 16:45:22 +0000 (18:45 +0200)]
Merge branch 'master' into blub/parser
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 16:44:58 +0000 (18:44 +0200)]
print error and return NULL when trying to create an invalid member access
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:39:52 +0000 (11:39 +0200)]
Merge branch 'master' into blub/parser
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:39:43 +0000 (11:39 +0200)]
fixed: ast_member needs to allow type_vector instead of type_float as base
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:36:41 +0000 (11:36 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:36:28 +0000 (11:36 +0200)]
ast_binary now keeps track of types
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:36:15 +0000 (11:36 +0200)]
ast_istype should add the TYPE_ prefix
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:34:41 +0000 (11:34 +0200)]
fixing the messup of MUL_FV and _VF being swapped - getting rid of additions that really have no place here (YET) (matrix/quaternion types)
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:28:52 +0000 (11:28 +0200)]
merging master
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 09:28:18 +0000 (11:28 +0200)]
default case for ir_value_dump's type switch
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 08:19:33 +0000 (10:19 +0200)]
ir_instr_dump to print CALL+paramcountfor calls rather than CALL0 always
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 08:15:27 +0000 (10:15 +0200)]
TYPE_FUNCTION in ir_value_dump to show '(function)' rather than '(void)'
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 08:14:22 +0000 (10:14 +0200)]
indentation of ir debug dump functions
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 08:08:41 +0000 (10:08 +0200)]
Merging master to handle vector members, fields, and members of vector fields
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 20:14:55 +0000 (22:14 +0200)]
Working vector-field test
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 20:14:45 +0000 (22:14 +0200)]
IR generation of vector-fields put the 'main' vector offset at the wrong position - fixed that
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 20:14:16 +0000 (22:14 +0200)]
ast_member_new now fixed up for fields, ast_shallow_type added for creation of a type-only ast_expression
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 20:11:08 +0000 (22:11 +0200)]
same +1 offset in LOAD_V as STOREP fixed
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 19:18:46 +0000 (21:18 +0200)]
testing writing to multiple fields, including a vector field
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 19:18:15 +0000 (21:18 +0200)]
print builtin now prints all the passed strings, not just the first
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 19:17:49 +0000 (21:17 +0200)]
fixing address check INSTR_STOREP_V in execloop - it kept us from writing to a vector when it was the last declared entityfield
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 17:38:02 +0000 (19:38 +0200)]
ir_block_create_store/p will now honor -fadjust-vector-fields by using STORE_V/STOREP_V instead of _FLD on vector-fields
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 17:35:08 +0000 (19:35 +0200)]
-fadjust-vector-fields
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 17:34:58 +0000 (19:34 +0200)]
also generate _y and _z data for fieldpointers
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 17:08:23 +0000 (19:08 +0200)]
to support .vector's _y and _z we need to add the global-data pointing to _y and _z...
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 16:09:45 +0000 (18:09 +0200)]
testcase for print(ftos(pawn.mema)) slightly changed, now not using a temporary location
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 16:06:10 +0000 (18:06 +0200)]
STOREP also has the destination in OPB rather than OPC
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 16:05:56 +0000 (18:05 +0200)]
Generating fields using ir_builder_create_field
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 15:53:41 +0000 (17:53 +0200)]
generate address of store_return values created with ir_value_out properly
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 15:35:55 +0000 (17:35 +0200)]
Need to keep prog->entities up to date when spawning entities
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 15:31:08 +0000 (17:31 +0200)]
experimental support for spawn() in the executor
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 14:39:04 +0000 (16:39 +0200)]
use the correct STORE instruction, make pawn a local
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 14:38:17 +0000 (16:38 +0200)]
ir_block_create_store_op checks whether or not the storetype is an SSA value - do not do that for storeP instructions
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 14:28:07 +0000 (16:28 +0200)]
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
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 14:10:33 +0000 (16:10 +0200)]
ast macros to create a field, generating fields in ast-test
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 14:08:38 +0000 (16:08 +0200)]
-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
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 13:41:37 +0000 (15:41 +0200)]
removing an unused variable
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 13:41:10 +0000 (15:41 +0200)]
ir_value_set_field
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 13:40:03 +0000 (15:40 +0200)]
tempcomitting parser changes for fields
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 12:45:49 +0000 (14:45 +0200)]
recognize a dot as a single char token
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:46:59 +0000 (11:46 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:46:44 +0000 (11:46 +0200)]
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
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:45:26 +0000 (11:45 +0200)]
don't set globaladdr directly, use a setter, the setter will update the member values used for vector access too
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:32:12 +0000 (11:32 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:31:50 +0000 (11:31 +0200)]
nicer trace output, strings now get escaped
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 09:17:46 +0000 (11:17 +0200)]
handling if/else, shunting yard now leaves unmatched closing paren-tokens on the parser for this purpose
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 08:35:10 +0000 (10:35 +0200)]
Handling blocks and inner blocks
Wolfgang (Blub) Bumiller [Sat, 11 Aug 2012 08:30:54 +0000 (10:30 +0200)]
let's be less insane with function naming and prepare parsing for control structures
Wolfgang (Blub) Bumiller [Fri, 10 Aug 2012 20:59:47 +0000 (22:59 +0200)]
creating vector's _xyz globals now, accessing them
Wolfgang (Blub) Bumiller [Fri, 10 Aug 2012 18:48:42 +0000 (20:48 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 12:49:37 +0000 (14:49 +0200)]
Experimental ast_member to access vector members
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:43:26 +0000 (12:43 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:43:02 +0000 (12:43 +0200)]
fix the chack for -Wno- and -fno-, it needs to use NO_ instead of no-
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:26:22 +0000 (12:26 +0200)]
rename a helper function since the name was in use
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:25:31 +0000 (12:25 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:25:19 +0000 (12:25 +0200)]
Add WARN_ prefix to warnings enum
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:24:01 +0000 (12:24 +0200)]
tempcommitting WARN_UNKNOWN_CONTROL_SEQUENCE and handling of backslashes in strings
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:09:31 +0000 (12:09 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:07:37 +0000 (12:07 +0200)]
include opts_debug and opts_memchk in exec.c's standalone part for now to have it compile
Wolfgang (Blub) Bumiller [Wed, 8 Aug 2012 10:05:08 +0000 (12:05 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang (Blub) Bumiller [Mon, 30 Jul 2012 11:48:53 +0000 (13:48 +0200)]
make it also compilable with -std=c99 by not redefining extra_semicolon_, by appending N to it
Wolfgang Bumiller [Sun, 29 Jul 2012 08:03:13 +0000 (10:03 +0200)]
ast nodes now store their type id, and can be checked via ast_istype
Wolfgang Bumiller [Sat, 28 Jul 2012 19:59:34 +0000 (21:59 +0200)]
ir_block_create_fieldaddress to pass on fieldtype from its input field
Wolfgang Bumiller [Sat, 28 Jul 2012 19:56:35 +0000 (21:56 +0200)]
test/ast-test.c must define opts_ variables since we don't compile main.c into it
Wolfgang Bumiller [Sat, 28 Jul 2012 19:55:01 +0000 (21:55 +0200)]
code_alloc_field to allocate entityfield data, ir now has ir_builder_create_field - so that globals and fields can be created separately - properly
Wolfgang Bumiller [Sat, 28 Jul 2012 19:21:41 +0000 (21:21 +0200)]
parser_init,compile,finish,cleanup - used in main
Wolfgang Bumiller [Sat, 28 Jul 2012 19:14:03 +0000 (21:14 +0200)]
Merging master and adopting its main.c
Wolfgang Bumiller [Sat, 28 Jul 2012 19:04:59 +0000 (21:04 +0200)]
Merge branch 'master' into cmdline
Wolfgang Bumiller [Sat, 28 Jul 2012 17:31:14 +0000 (19:31 +0200)]
use util_ functions for strtocmd and strtononcmd
Wolfgang Bumiller [Sat, 28 Jul 2012 17:31:02 +0000 (19:31 +0200)]
Added missing parameter names
Wolfgang Bumiller [Sat, 28 Jul 2012 17:28:27 +0000 (19:28 +0200)]
util_strtocmd, util_strtononcmd
Wolfgang Bumiller [Sat, 28 Jul 2012 17:20:19 +0000 (19:20 +0200)]
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
Wolfgang Bumiller [Sat, 28 Jul 2012 17:09:44 +0000 (19:09 +0200)]
flags.def and warns.def containing defined flags and warnings
Wolfgang Bumiller [Sat, 28 Jul 2012 16:17:29 +0000 (18:17 +0200)]
adapting to change in master: ast_store takes an ast_expression
Wolfgang Bumiller [Sat, 28 Jul 2012 16:13:24 +0000 (18:13 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Sat, 28 Jul 2012 16:13:12 +0000 (18:13 +0200)]
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
Wolfgang Bumiller [Sat, 28 Jul 2012 14:06:44 +0000 (16:06 +0200)]
Adding more cleanup; checking whether or not a return has the right type
Wolfgang Bumiller [Sat, 28 Jul 2012 13:57:28 +0000 (15:57 +0200)]
consistency ftw
Wolfgang Bumiller [Sat, 28 Jul 2012 12:50:07 +0000 (14:50 +0200)]
-fhelp to list -f flags, -Whelp to list -W options
Wolfgang Bumiller [Sat, 28 Jul 2012 12:48:02 +0000 (14:48 +0200)]
Add -foverlap-locals - something we really should make possible
Wolfgang Bumiller [Sat, 28 Jul 2012 11:59:35 +0000 (13:59 +0200)]
Added handler for -W
Wolfgang Bumiller [Sat, 28 Jul 2012 11:50:12 +0000 (13:50 +0200)]
Fixing a warning
Wolfgang Bumiller [Sat, 28 Jul 2012 11:47:14 +0000 (13:47 +0200)]
Importing gmqcc.1
Wolfgang Bumiller [Sat, 28 Jul 2012 11:20:06 +0000 (13:20 +0200)]
Print out all the information parsed from the commandline
Wolfgang Bumiller [Sat, 28 Jul 2012 10:59:33 +0000 (12:59 +0200)]
gcc style long option support and -std=foo added
Wolfgang Bumiller [Sat, 28 Jul 2012 10:36:20 +0000 (12:36 +0200)]
Commandline handling first draft
Wolfgang Bumiller [Fri, 27 Jul 2012 17:27:56 +0000 (19:27 +0200)]
executor: prog_delete: deleting builtins properly - unless statically allocated; added a qc_builtins array for the standalone executor containing 'print'
Wolfgang Bumiller [Fri, 27 Jul 2012 17:18:21 +0000 (19:18 +0200)]
Merge branch 'master' into blub/bc3
Wolfgang Bumiller [Fri, 27 Jul 2012 17:18:04 +0000 (19:18 +0200)]
_MEM_ -> MEM_ again at use
Wolfgang Bumiller [Fri, 27 Jul 2012 17:17:03 +0000 (19:17 +0200)]
Merging master with newly merged executor
Wolfgang Bumiller [Fri, 27 Jul 2012 17:13:03 +0000 (19:13 +0200)]
Merging master and adapting _MEM_* on new mem-vector functions
Wolfgang Bumiller [Fri, 27 Jul 2012 17:02:39 +0000 (19:02 +0200)]
Merge branch 'master' into blub/bc3