]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 14:12:12 +0000 (16:12 +0200)]
Getting rid of some debug output
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 14:10:17 +0000 (16:10 +0200)]
'local' becomes a keyword
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 12:38:02 +0000 (14:38 +0200)]
allow a semicolon after function bodies - make it mandatory with -std=qcc
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 12:19:44 +0000 (14:19 +0200)]
actually print the prototype's file+line, not the current one
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 12:14:56 +0000 (14:14 +0200)]
type comparison, function prototypes
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 11:50:55 +0000 (13:50 +0200)]
the error about an already-declared variable should display the place its been previously declared at
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 11:15:55 +0000 (13:15 +0200)]
removed redundant error+file+line in parseerror()
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 11:14:32 +0000 (13:14 +0200)]
removing all direct 'printfs' from ast and ir, replaced by the error interface
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 10:17:34 +0000 (12:17 +0200)]
it's .file, not .name'
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 10:17:08 +0000 (12:17 +0200)]
renamign 'errtype' to 'msgtype' here... makes more sense... plus I had it on the paramlist :P
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 10:15:05 +0000 (12:15 +0200)]
oops... removing wrongly placed semicolons
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 10:06:28 +0000 (12:06 +0200)]
error-print functions which take lex_ctx
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 10:00:09 +0000 (12:00 +0200)]
And a colon for the colored version too ...
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 09:54:48 +0000 (11:54 +0200)]
Add a colon after the linenumber
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 09:54:27 +0000 (11:54 +0200)]
don't add the general 'parse error' message if an error has already been printed
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 09:54:06 +0000 (11:54 +0200)]
used the wrong va_list there... why didn't gcc warn about this being uninitialized...
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 09:34:07 +0000 (11:34 +0200)]
Working towards a saner error-output system, adding -Werror
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 08:57:09 +0000 (10:57 +0200)]
remove now unused files
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 08:42:34 +0000 (10:42 +0200)]
Merge branch 'master' into blub/parser
Wolfgang (Blub) Bumiller [Tue, 14 Aug 2012 08:40:48 +0000 (10:40 +0200)]
ast_binstore, used for +=, -=, ++, -- etc
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 17:54:53 +0000 (19:54 +0200)]
storing generated values and returning them early if they exist - will error when that doesn't make sense eg when trying to call codegen ast_ifthen more than once
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 17:40:06 +0000 (19:40 +0200)]
initialize ast_expression_common.outl/outr
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 17:39:35 +0000 (19:39 +0200)]
prototypes for ast_binstore, and storing outl/outr in ast_expression_common, TODO: let ast_codegen functions reuse previous results so that binstore can call codegen twice
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 15:10:13 +0000 (17:10 +0200)]
while, for
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 14:45:35 +0000 (16:45 +0200)]
factored out 'if' parsing code into a function, added 'while' parsing, and errors for more unsupported operators
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:33:32 +0000 (15:33 +0200)]
Even more operators
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:25:40 +0000 (15:25 +0200)]
Merge branch 'master' into blub/parser
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:25:14 +0000 (15:25 +0200)]
type_eq_instr[], type_ne_instr[]
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:24:55 +0000 (15:24 +0200)]
More operations
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:13:43 +0000 (15:13 +0200)]
nicer error messages, bitand and bitor for floats allowed
Wolfgang (Blub) Bumiller [Mon, 13 Aug 2012 13:09:27 +0000 (15:09 +0200)]
Check types on + and - operations
Wolfgang (Blub) Bumiller [Sun, 12 Aug 2012 19:56:53 +0000 (21:56 +0200)]
adding missing initializer for ir_value's member array
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