]> git.xonotic.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
11 years agofunctions-as-parameters testcase 0.1-rc1
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 17:24:48 +0000 (18:24 +0100)]
functions-as-parameters testcase

11 years agoTest for entity-field-pointer function parameters
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 17:21:53 +0000 (18:21 +0100)]
Test for entity-field-pointer function parameters

11 years agoreserve the keywords 'switch,struct,union,break,continue' - but only with std !=...
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'

11 years agostring-literals now do not treat digraphs as digraphs
Wolfgang (Blub) Bumiller [Thu, 1 Nov 2012 13:05:14 +0000 (14:05 +0100)]
string-literals now do not treat digraphs as digraphs

11 years agoA comment/note/hint about how to deal with not-yet declared things later in past-0.2
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

11 years agoinvalid-assign testcase for non-lvalue stores
Wolfgang (Blub) Bumiller [Tue, 30 Oct 2012 20:21:23 +0000 (21:21 +0100)]
invalid-assign testcase for non-lvalue stores

11 years agoIf parser_finish fails, the exit-value must also indicate an error
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

11 years agoError when lvalues are requested where that's not possible
Wolfgang (Blub) Bumiller [Tue, 30 Oct 2012 20:15:42 +0000 (21:15 +0100)]
Error when lvalues are requested where that's not possible

11 years agoActually use a di-graph in the ngraph test, and replaced the curly braces and the...
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

11 years agodi/trigraph testcase
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 13:36:05 +0000 (14:36 +0100)]
di/trigraph testcase

11 years agoast_call_check_types should not check more parameters than actually available in...
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

11 years agodigraphs
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 12:56:00 +0000 (13:56 +0100)]
digraphs

11 years agotrigraphs
Wolfgang (Blub) Bumiller [Mon, 29 Oct 2012 12:52:39 +0000 (13:52 +0100)]
trigraphs

11 years agoPulling in a rudimentary testsuite - we have to find a better solution ...
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 ...

11 years agoError when trying to assign variables whose types are different - with -std=qcc only...
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

11 years ago-Wassign-function-types - since in qcc you may assign functionpointers which take...
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...

11 years agoast_type_to_string function
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 19:30:55 +0000 (20:30 +0100)]
ast_type_to_string function

11 years agoast_store needs to take over the type of its destination
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

11 years agoa failing 'parse-statement' call should not print 'parse error' at all since at that...
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

11 years agoThe proper way to deal with error messages which did not cause the parser to bail...
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...

11 years agoadd error for function parameters of invalid types
Wolfgang (Blub) Bumiller [Sun, 28 Oct 2012 14:44:27 +0000 (15:44 +0100)]
add error for function parameters of invalid types

11 years agoWhen erroring while parsing a function and the function had been added to the parser...
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

11 years agoRemove the -benchmark option+code
Wolfgang (Blub) Bumiller [Sat, 27 Oct 2012 13:33:37 +0000 (15:33 +0200)]
Remove the -benchmark option+code

11 years agoDon't forget to set the _alloc in vector resize, also set _alloc back in _append...
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

11 years agosome awesome documentation about CRC for future viewers
Dale Weiler [Tue, 2 Oct 2012 16:06:25 +0000 (12:06 -0400)]
some awesome documentation about CRC for future viewers

11 years agoAdd the actual crc implementation
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:56:59 +0000 (17:56 +0200)]
Add the actual crc implementation

11 years agoleaving the old crc in, commented out
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:54:19 +0000 (17:54 +0200)]
leaving the old crc in, commented out

11 years agoCleaner crc implementation
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:51:03 +0000 (17:51 +0200)]
Cleaner crc implementation

11 years agoGenerating checksums
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 15:09:49 +0000 (17:09 +0200)]
Generating checksums

11 years agocode_crc added, initializing to 0
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 14:01:35 +0000 (16:01 +0200)]
code_crc added, initializing to 0

11 years agoPrint a warning if end_sys_fields was declared as a field rather than a global
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

11 years agodon't warn about unused end_sys_{globals,fields}
Wolfgang (Blub) Bumiller [Tue, 2 Oct 2012 13:35:43 +0000 (15:35 +0200)]
don't warn about unused end_sys_{globals,fields}

11 years agolink with $(LIBS), so on linux you can easily add -lrt without changing the Makefile
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

11 years agoremoving some old unused stuff from lexer.h
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:21:16 +0000 (23:21 +0200)]
removing some old unused stuff from lexer.h

11 years agoforgot to put the -Werror in --help into the actual print parameter...
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...

11 years agoremove unimplemented -f flags from --help, add the implemented one
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:03:52 +0000 (23:03 +0200)]
remove unimplemented -f flags from --help, add the implemented one

11 years agoAdd -Werror to the --help message
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:02:27 +0000 (23:02 +0200)]
Add -Werror to the --help message

11 years agoalignment fix
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 21:01:18 +0000 (23:01 +0200)]
alignment fix

11 years ago-benchmark option to take the time in a rather simple way
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

11 years agoetos builtin...
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 20:58:07 +0000 (22:58 +0200)]
etos builtin...

11 years agoir_builder_delete now causes the ..._delete_quick functions to be used which will...
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

11 years agocache the IMMEDIATE string in the builder directly
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:52:06 +0000 (19:52 +0200)]
cache the IMMEDIATE string in the builder directly

11 years agocopy the function context over to its ir_value as well
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

11 years agocache filenames as such instead of using code_cachedstring
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 17:44:29 +0000 (19:44 +0200)]
cache filenames as such instead of using code_cachedstring

11 years agonot using cachedstring on generated string values anymore, it's not the IR's job
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

11 years agofixing token-reset in modelname
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:23:35 +0000 (18:23 +0200)]
fixing token-reset in modelname

11 years agoir_value now checks if a name was specified
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:14:39 +0000 (18:14 +0200)]
ir_value now checks if a name was specified

11 years agoNot labeling temps/blocks if opts_dump isn't 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

11 years agobetter labelling in ast_function_labeling, this time the number is even printed forwa...
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... ;)

11 years agoir: don't require a label on a block
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 16:03:57 +0000 (18:03 +0200)]
ir: don't require a label on a block

11 years agothe lexer now doesn't _allocate_ the token structure, also: the vector holding the...
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

11 years agoparse_variable refactored, moved out the parsing of function bodies, easier memory...
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

11 years agorenaming some parser functions, mainly shortining things: parse_type just looks much...
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...

11 years agoAdding static keyword to some more parser functions
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:27:41 +0000 (15:27 +0200)]
Adding static keyword to some more parser functions

11 years agocreate_vector_members sanitized
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:09:51 +0000 (15:09 +0200)]
create_vector_members sanitized

11 years agoir_value_life_merge_into: fix a possible underflow
Wolfgang (Blub) Bumiller [Fri, 24 Aug 2012 13:06:30 +0000 (15:06 +0200)]
ir_value_life_merge_into: fix a possible underflow

11 years agoFixing handling of duplicate frame macros: 'continue' would continue the inner for...
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

11 years agoslight change to ir_value_dump_life; fixing ir_value_life_merge_into: TODO test this...
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

11 years agouse the expression's linenumber for the 'statement has no effect' warning rather...
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...

11 years ago-Weffectless-statement now also triggers on effectless incrementors in for-loops...
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

11 years agofor the sake of testing: -Wnone
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:52:39 +0000 (20:52 +0200)]
for the sake of testing: -Wnone

11 years ago-Weffectless-statement, on by default, creates 'statement has no effect' warning
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

11 years agoadd 'X has been declared here:' too the too-few/many-parameters warning/error
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

11 years agoWarn about unused globals too, not about functions or constants though
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

11 years agoWarna bout unused variables - -Wunused-variable, on by default
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 18:25:54 +0000 (20:25 +0200)]
Warna bout unused variables - -Wunused-variable, on by default

11 years agofixing up prevoius commit: cannot reference the parser here
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:28:15 +0000 (19:28 +0200)]
fixing up prevoius commit: cannot reference the parser here

11 years agoMake the lexer use the correct error-printing mechanism
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 17:20:50 +0000 (19:20 +0200)]
Make the lexer use the correct error-printing mechanism

11 years ago-Wframe-macros, warn about duplicate frame macro definitions, on by default
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

11 years agothe -std=qcc set of operators, still have to verify if it's the original
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

11 years agoAdd the empty globaldef/fielddef to the object, savegame skips that null-def when...
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...

11 years agoDon't add DEF_SAVEGLOBAL for locals actually...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 16:32:11 +0000 (18:32 +0200)]
Don't add DEF_SAVEGLOBAL for locals actually...

11 years agoAdding DEF_SAVEGLOBAL, marking globals as to-be-saved now, for real support of quicks...
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

11 years agoit'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: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...

11 years agoremoving some extra newlines in ast error messages
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 15:16:07 +0000 (17:16 +0200)]
removing some extra newlines in ast error messages

11 years agofix: check if parsing a variable initializer failed
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 11:30:30 +0000 (13:30 +0200)]
fix: check if parsing a variable initializer failed

11 years agofixing mem-vector resize function
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 11:21:14 +0000 (13:21 +0200)]
fixing mem-vector resize function

11 years agoqcvm won't print checksum or entity field area size without the -info option anymore
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

11 years ago-std=qcc now warns about variadic functions via -Wextensions
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 09:33:50 +0000 (11:33 +0200)]
-std=qcc now warns about variadic functions via -Wextensions

11 years agoRemoving print2 and print3 from data/parsing.qc, replaced by variadic print
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 09:30:25 +0000 (11:30 +0200)]
Removing print2 and print3 from data/parsing.qc, replaced by variadic print

11 years agoVariadic functions: works for builtins, warns for implemenetd functions, -Wvariadic...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 09:29:48 +0000 (11:29 +0200)]
Variadic functions: works for builtins, warns for implemenetd functions, -Wvariadic-function, on by default

11 years agofor the lexer 3 dots now become TOKEN_DOTS
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 09:12:32 +0000 (11:12 +0200)]
for the lexer 3 dots now become TOKEN_DOTS

11 years agoPossibility to call a main function with parameters by specifying -float, -vector...
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 08:35:03 +0000 (10:35 +0200)]
Possibility to call a main function with parameters by specifying -float, -vector or -string parameters to standalone qcvm

11 years agoon linux we need -lm for sqrt
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 08:24:17 +0000 (10:24 +0200)]
on linux we need -lm for sqrt

11 years agovtos should use the same quotes as we use in qc source
Wolfgang (Blub) Bumiller [Thu, 23 Aug 2012 08:18:59 +0000 (10:18 +0200)]
vtos should use the same quotes as we use in qc source

11 years agoMUL_VF and MUL_FV get their special life-range handling
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 16:51:32 +0000 (18:51 +0200)]
MUL_VF and MUL_FV get their special life-range handling

11 years agocommenting on the quirks of MUL_VF and MUL_FV in gmqcc.h's instruction list
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 16:34:48 +0000 (18:34 +0200)]
commenting on the quirks of MUL_VF and MUL_FV in gmqcc.h's instruction list

11 years agousing %i for instruction opcode output is a little more consistent with the above...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 16:27:49 +0000 (18:27 +0200)]
using %i for instruction opcode output is a little more consistent with the above data, so you can quickly spot if an operand is a local or something else

11 years agocommitting gmqcc.h for previous exec.c commit: qc_program gets .xflags
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 15:49:25 +0000 (17:49 +0200)]
committing gmqcc.h for previous exec.c commit: qc_program gets .xflags

11 years agocut off too-long strings in disassembly
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 15:41:24 +0000 (17:41 +0200)]
cut off too-long strings in disassembly

11 years agowhen using -trace in qcvm: print a newline after every print that doesn't end in...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 15:37:22 +0000 (17:37 +0200)]
when using -trace in qcvm: print a newline after every print that doesn't end in a newline, so that the next disassembled instruction doesn't appear mid-text

11 years agoNicer -trace output in qcvm/exec
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 15:32:57 +0000 (17:32 +0200)]
Nicer -trace output in qcvm/exec

11 years agoit's SUB_V not DUB_V
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 15:32:42 +0000 (17:32 +0200)]
it's SUB_V not DUB_V

11 years agofix the functiondef's .locals...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 14:29:27 +0000 (16:29 +0200)]
fix the functiondef's .locals...

11 years agofor liferange calc: the block we start from must tart with an empty set of living...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 14:20:26 +0000 (16:20 +0200)]
for liferange calc: the block we start from must tart with an empty set of living values

11 years agofixing some debug output
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 14:19:35 +0000 (16:19 +0200)]
fixing some debug output

11 years agomore info with -dump
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 14:04:06 +0000 (16:04 +0200)]
more info with -dump

11 years agoqc_vlen, and adding numbers to all builtins for clarity
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:39:15 +0000 (15:39 +0200)]
qc_vlen, and adding numbers to all builtins for clarity

11 years agoerror builtin to bail out, pawn now _always_ nulls the new entity data
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:35:28 +0000 (15:35 +0200)]
error builtin to bail out, pawn now _always_ nulls the new entity data

11 years agomemvector resize needs to set _count as well
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:24:24 +0000 (15:24 +0200)]
memvector resize needs to set _count as well

11 years agoMask out "MEM" debug messages when -memchk wasn't used
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:18:11 +0000 (15:18 +0200)]
Mask out "MEM" debug messages when -memchk wasn't used