]> git.rm.cloudns.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
12 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

12 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

12 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

12 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

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

12 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

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

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

12 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 ...

12 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

12 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...

12 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

12 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

12 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

12 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...

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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

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

12 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

12 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

12 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}

12 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

12 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

12 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...

12 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

12 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

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

12 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

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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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... ;)

12 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

12 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

12 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

12 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...

12 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

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

12 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

12 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

12 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

12 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...

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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...

12 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...

12 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

12 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...

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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...

12 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

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

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

12 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

12 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

12 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

12 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

12 years agoadd ticks around vector strings created by vtos
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:04:37 +0000 (15:04 +0200)]
add ticks around vector strings created by vtos

12 years agovtos builtin
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 13:03:49 +0000 (15:03 +0200)]
vtos builtin

12 years agoHave the parser generate immediates AFTER generating the globals for correct def...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 12:20:28 +0000 (14:20 +0200)]
Have the parser generate immediates AFTER generating the globals for correct def layout

12 years agoFirst generate the globals, then the fields, so the defs have the correct layout...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 12:15:49 +0000 (14:15 +0200)]
First generate the globals, then the fields, so the defs have the correct layout for quake

12 years ago-printdefs for qcvm
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 12:15:35 +0000 (14:15 +0200)]
-printdefs for qcvm