]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Dale Weiler [Sat, 10 Nov 2012 20:59:58 +0000 (20:59 +0000)]
Trash data/ (reason: see last commit)
Dale Weiler [Sat, 10 Nov 2012 20:57:54 +0000 (20:57 +0000)]
Dump old tests, test suite will take over .. It isn't activly used, just killing space and looking fugly. If required for reference, see older revisions.
Dale Weiler [Sat, 10 Nov 2012 20:54:26 +0000 (20:54 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Sat, 10 Nov 2012 20:53:37 +0000 (20:53 +0000)]
Remove execloop.h, we still use xmacros, but it's done with #include __FILE__ trickery. Please do not kill me, it doesn't look that bad, conditional compilation is even used in eglibc like this :P
Wolfgang (Blub) Bumiller [Sat, 10 Nov 2012 11:17:05 +0000 (12:17 +0100)]
util_memory_r with byte=0 will now call util_memory_d and return NULL
Wolfgang (Blub) Bumiller [Sat, 10 Nov 2012 10:16:19 +0000 (11:16 +0100)]
mem_r to realloc
Wolfgang (Blub) Bumiller [Fri, 9 Nov 2012 19:11:17 +0000 (20:11 +0100)]
the codegen has to use STORE_V for .vector, not STORE_FLD - contrary to the regular global-assignment, even fteqcc gets this right, so gmqcc should too
Wolfgang (Blub) Bumiller [Fri, 9 Nov 2012 18:04:31 +0000 (19:04 +0100)]
Merged parsing of variable and field declarations into 1 function
Wolfgang (Blub) Bumiller [Tue, 6 Nov 2012 18:50:16 +0000 (19:50 +0100)]
Delete an explicit #define
Wolfgang (Blub) Bumiller [Sun, 4 Nov 2012 10:41:44 +0000 (11:41 +0100)]
gcc lost it's magic analyzer and now complains about uninitialized stuff... <sadface>
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 21:51:26 +0000 (22:51 +0100)]
error on more than 8 params for now since more need special treatment
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:59:21 +0000 (18:59 +0100)]
Delete the test preprocess.c file and get the use/build part out of main.c/Makefile
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:49:50 +0000 (18:49 +0100)]
better test loop
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:48:32 +0000 (18:48 +0100)]
Properly handle string and char constants when preprocessing: don't unescape and keep surrounding quotes
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:39:32 +0000 (18:39 +0100)]
Changed the TOKEN_WHITE to contain the actual data - ie the comments
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:37:58 +0000 (18:37 +0100)]
Changed the preprocess test to reproduce the input file
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:28:54 +0000 (18:28 +0100)]
Finishing the preprocessing flag for the lexer, added preprocess.c to test it
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 16:58:21 +0000 (17:58 +0100)]
-E switch to set opt_pp_only
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 22:22:58 +0000 (23:22 +0100)]
preprocessing flag for the lexer
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 17:30:20 +0000 (18:30 +0100)]
Fix a minor bug in the lexer
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 11:32:13 +0000 (12:32 +0100)]
-disasm should show builtins as builtins rather than trying to print negative statements - skip function 0 since it's not a valid function
Wolfgang (Blub) Bumiller [Fri, 2 Nov 2012 11:23:55 +0000 (12:23 +0100)]
-disasm switch for qcvm
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 17:24:48 +0000 (18:24 +0100)]
functions-as-parameters testcase
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 17:21:53 +0000 (18:21 +0100)]
Test for entity-field-pointer function parameters
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 13:20:58 +0000 (14:20 +0100)]
reserve the keywords 'switch,struct,union,break,continue' - but only with std != QCC - eg. id1 uses a function named 'break'
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 13:05:14 +0000 (14:05 +0100)]
string-literals now do not treat digraphs as digraphs
Wolfgang (Blub) Bumiller [Wed, 31 Oct 2012 17:55:03 +0000 (18:55 +0100)]
A comment/note/hint about how to deal with not-yet declared things later in past-0.2
Wolfgang (Blub) Bumiller [Tue, 30 Oct 2012 20:21:23 +0000 (21:21 +0100)]
invalid-assign testcase for non-lvalue stores
Wolfgang (Blub) Bumiller [Tue, 30 Oct 2012 20:20:06 +0000 (21:20 +0100)]
If parser_finish fails, the exit-value must also indicate an error
Wolfgang (Blub) Bumiller [Tue, 30 Oct 2012 20:15:42 +0000 (21:15 +0100)]
Error when lvalues are requested where that's not possible
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 13:47:11 +0000 (14:47 +0100)]
Actually use a di-graph in the ngraph test, and replaced the curly braces and the builgin-# sign
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 13:36:05 +0000 (14:36 +0100)]
di/trigraph testcase
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 13:35:50 +0000 (14:35 +0100)]
ast_call_check_types should not check more parameters than actually available in both the call and the function type - fixes a crash introduced by this on variadic functions
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 12:56:00 +0000 (13:56 +0100)]
digraphs
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 12:52:39 +0000 (13:52 +0100)]
trigraphs
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 18:34:39 +0000 (19:34 +0100)]
Pulling in a rudimentary testsuite - we have to find a better solution ...
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 19:32:13 +0000 (20:32 +0100)]
Error when trying to assign variables whose types are different - with -std=qcc only warn when they are both functions with non-matching parameter types
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 19:31:35 +0000 (20:31 +0100)]
-Wassign-function-types - since in qcc you may assign functionpointers which take different parameters...
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 19:30:55 +0000 (20:30 +0100)]
ast_type_to_string function
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 19:02:57 +0000 (20:02 +0100)]
ast_store needs to take over the type of its destination
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 14:53:30 +0000 (15:53 +0100)]
a failing 'parse-statement' call should not print 'parse error' at all since at that point more descriptive error message has to have been printed already
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 14:48:51 +0000 (15:48 +0100)]
The proper way to deal with error messages which did not cause the parser to bail out early is this, not a 'parse error'-error...
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 14:44:27 +0000 (15:44 +0100)]
add error for function parameters of invalid types
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 14:28:39 +0000 (15:28 +0100)]
When erroring while parsing a function and the function had been added to the parser's function list, remove it, otherwise it'll get freed again in the parser's cleanup function
Wolfgang (Blub) Bumiller [Sat, 27 Oct 2012 13:33:37 +0000 (15:33 +0200)]
Remove the -benchmark option+code
Wolfgang (Blub) Bumiller [Tue, 9 Oct 2012 18:56:54 +0000 (20:56 +0200)]
Don't forget to set the _alloc in vector resize, also set _alloc back in _append if mem_a had failed
Dale Weiler [Tue, 2 Oct 2012 16:06:25 +0000 (12:06 -0400)]
some awesome documentation about CRC for future viewers
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:56:59 +0000 (17:56 +0200)]
Add the actual crc implementation
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:54:19 +0000 (17:54 +0200)]
leaving the old crc in, commented out
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:51:03 +0000 (17:51 +0200)]
Cleaner crc implementation
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:09:49 +0000 (17:09 +0200)]
Generating checksums
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 14:01:35 +0000 (16:01 +0200)]
code_crc added, initializing to 0
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 13:59:37 +0000 (15:59 +0200)]
Print a warning if end_sys_fields was declared as a field rather than a global
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 13:35:43 +0000 (15:35 +0200)]
don't warn about unused end_sys_{globals,fields}
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 13:35:31 +0000 (15:35 +0200)]
link with $(LIBS), so on linux you can easily add -lrt without changing the Makefile
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:21:16 +0000 (23:21 +0200)]
removing some old unused stuff from lexer.h
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:18:44 +0000 (23:18 +0200)]
forgot to put the -Werror in --help into the actual print parameter...
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:03:52 +0000 (23:03 +0200)]
remove unimplemented -f flags from --help, add the implemented one
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:02:27 +0000 (23:02 +0200)]
Add -Werror to the --help message
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:01:18 +0000 (23:01 +0200)]
alignment fix
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:00:47 +0000 (23:00 +0200)]
-benchmark option to take the time in a rather simple way
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 20:58:07 +0000 (22:58 +0200)]
etos builtin...
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 18:39:47 +0000 (20:39 +0200)]
ir_builder_delete now causes the ..._delete_quick functions to be used which will skip the removal of references: ir_value's won't have their read/write references removed by ir_instr_delete_quick
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:52:06 +0000 (19:52 +0200)]
cache the IMMEDIATE string in the builder directly
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:49:12 +0000 (19:49 +0200)]
copy the function context over to its ir_value as well
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:44:29 +0000 (19:44 +0200)]
cache filenames as such instead of using code_cachedstring
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:08:33 +0000 (19:08 +0200)]
not using cachedstring on generated string values anymore, it's not the IR's job
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:23:35 +0000 (18:23 +0200)]
fixing token-reset in modelname
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:14:39 +0000 (18:14 +0200)]
ir_value now checks if a name was specified
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:10:41 +0000 (18:10 +0200)]
Not labeling temps/blocks if opts_dump isn't specified
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:08:28 +0000 (18:08 +0200)]
better labelling in ast_function_labeling, this time the number is even printed forward rather than backward... ;)
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:03:57 +0000 (18:03 +0200)]
ir: don't require a label on a block
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 15:37:55 +0000 (17:37 +0200)]
the lexer now doesn't _allocate_ the token structure, also: the vector holding the token doesn't shrink so we have much fewer reallocations
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 15:23:47 +0000 (17:23 +0200)]
parse_variable refactored, moved out the parsing of function bodies, easier memory handling
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:34:48 +0000 (15:34 +0200)]
renaming some parser functions, mainly shortining things: parse_type just looks much better than parser_parse_type...
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:27:41 +0000 (15:27 +0200)]
Adding static keyword to some more parser functions
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:09:51 +0000 (15:09 +0200)]
create_vector_members sanitized
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:06:30 +0000 (15:06 +0200)]
ir_value_life_merge_into: fix a possible underflow
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 20:40:51 +0000 (22:40 +0200)]
Fixing handling of duplicate frame macros: 'continue' would continue the inner for, how could I miss that
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 20:07:32 +0000 (22:07 +0200)]
slight change to ir_value_dump_life; fixing ir_value_life_merge_into: TODO test this seperately, all cases
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:56:05 +0000 (20:56 +0200)]
use the expression's linenumber for the 'statement has no effect' warning rather than the current one because that one's usually the line below...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:54:24 +0000 (20:54 +0200)]
-Weffectless-statement now also triggers on effectless incrementors in for-loops, if an incrementor was specified
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:52:39 +0000 (20:52 +0200)]
for the sake of testing: -Wnone
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:52:09 +0000 (20:52 +0200)]
-Weffectless-statement, on by default, creates 'statement has no effect' warning
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:48:51 +0000 (20:48 +0200)]
add 'X has been declared here:' too the too-few/many-parameters warning/error
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:32:33 +0000 (20:32 +0200)]
Warn about unused globals too, not about functions or constants though
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:25:54 +0000 (20:25 +0200)]
Warna bout unused variables - -Wunused-variable, on by default
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:28:15 +0000 (19:28 +0200)]
fixing up prevoius commit: cannot reference the parser here
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:20:50 +0000 (19:20 +0200)]
Make the lexer use the correct error-printing mechanism
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:16:26 +0000 (19:16 +0200)]
-Wframe-macros, warn about duplicate frame macro definitions, on by default
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:01:15 +0000 (19:01 +0200)]
the -std=qcc set of operators, still have to verify if it's the original
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 16:40:10 +0000 (18:40 +0200)]
Add the empty globaldef/fielddef to the object, savegame skips that null-def when saving variables...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 16:32:11 +0000 (18:32 +0200)]
Don't add DEF_SAVEGLOBAL for locals actually...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 16:28:05 +0000 (18:28 +0200)]
Adding DEF_SAVEGLOBAL, marking globals as to-be-saved now, for real support of quicksaving
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 15:22:13 +0000 (17:22 +0200)]
it's not the IR's job to fail when a local of the same name is created twice...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 15:16:07 +0000 (17:16 +0200)]
removing some extra newlines in ast error messages
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 11:30:30 +0000 (13:30 +0200)]
fix: check if parsing a variable initializer failed
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 11:21:14 +0000 (13:21 +0200)]
fixing mem-vector resize function
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 10:42:41 +0000 (12:42 +0200)]
qcvm won't print checksum or entity field area size without the -info option anymore
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 09:33:50 +0000 (11:33 +0200)]
-std=qcc now warns about variadic functions via -Wextensions