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

12 years agooption: -force-crc=number, added -info to executor to just show some file info like...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 12:00:57 +0000 (14:00 +0200)]
option: -force-crc=number, added -info to executor to just show some file info like the crc, and -printfields to print a list of fields along with their type and position

12 years agoPop off all the locals after a function
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 10:59:52 +0000 (12:59 +0200)]
Pop off all the locals after a function

12 years agosome vector tests
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 10:56:34 +0000 (12:56 +0200)]
some vector tests

12 years agomake track=no adds -DNOTRACK WARNING: do not compile only parts of the code with...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 10:38:16 +0000 (12:38 +0200)]
make track=no adds -DNOTRACK WARNING: do not compile only parts of the code with that... it would cause major breakage

12 years ago-Wimplicit-function-pointer, functions without bodies still have a global function...
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 10:37:06 +0000 (12:37 +0200)]
-Wimplicit-function-pointer, functions without bodies still have a global function variable and thus are function pointers, though this shouldn't really be used, thus -Wimplicit-function-pointer is on by default

12 years agoDon't try to generate function code for functions without bodies
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 10:33:24 +0000 (12:33 +0200)]
Don't try to generate function code for functions without bodies

12 years agoRemoving -std=c90, which was just used to make sure things stayed portable
Wolfgang (Blub) Bumiller [Wed, 22 Aug 2012 09:49:46 +0000 (11:49 +0200)]
Removing -std=c90, which was just used to make sure things stayed portable

12 years agoast_ifthen_codegen: the merge-jumps for an if's branches need to be added to the...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 16:25:41 +0000 (18:25 +0200)]
ast_ifthen_codegen: the merge-jumps for an if's branches need to be added to the endblock of the branch, not the beginning

12 years agoSince we currently append AINSTR_END to the end of all functions for debugging purpos...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 16:12:01 +0000 (18:12 +0200)]
Since we currently append AINSTR_END to the end of all functions for debugging purposes, and darkplaces complains when the very last statement isn't INSTR_DONE or INSTR_RETURN, we append an INSTR_DONE at the very end

12 years agoDo not generate an OFS_RETURN variable, the IR doesn't need to know it as such
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 14:08:23 +0000 (16:08 +0200)]
Do not generate an OFS_RETURN variable, the IR doesn't need to know it as such

12 years agoFix getline usage in main.c, fix WARN_VOID_VARIABLE -> WARN_VOID_VARIABLES in main.c
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 14:05:10 +0000 (16:05 +0200)]
Fix getline usage in main.c, fix WARN_VOID_VARIABLE -> WARN_VOID_VARIABLES in main.c

12 years agoTYPE_FUNCTION values which are not constant are now allowed to be generated, they...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 14:01:28 +0000 (16:01 +0200)]
TYPE_FUNCTION values which are not constant are now allowed to be generated, they are function pointers.

12 years agoright... instead of checking for end_sys_globals twice, maybe ACTUALLY check for...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 13:50:53 +0000 (15:50 +0200)]
right... instead of checking for end_sys_globals twice, maybe ACTUALLY check for end_sys_fields too...

12 years ago-Wvoid-variables, QC uses 2 special void-typed variables: end_sys_globals and .end_sy...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 13:49:53 +0000 (15:49 +0200)]
-Wvoid-variables, QC uses 2 special void-typed variables: end_sys_globals and .end_sys_fields. However if for some reason someone wants more, we still allow them to be code-generated, but by default warn about them by default

12 years agolet test_ast compile again
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 10:03:34 +0000 (12:03 +0200)]
let test_ast compile again

12 years agouninit.qc test
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 09:57:23 +0000 (11:57 +0200)]
uninit.qc test

12 years agonicer output for lost blocks in memory info
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 09:45:19 +0000 (11:45 +0200)]
nicer output for lost blocks in memory info

12 years agomemblock_t is now a double-linked list so we can show where data was allocated which...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 09:41:01 +0000 (11:41 +0200)]
memblock_t is now a double-linked list so we can show where data was allocated which hasn't been freed

12 years agoat last, the annoying missing ast_delete(typevar)
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 09:21:05 +0000 (11:21 +0200)]
at last, the annoying missing ast_delete(typevar)

12 years agosome more error situations where typevar wouldn't get freed
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 09:18:40 +0000 (11:18 +0200)]
some more error situations where typevar wouldn't get freed

12 years agoFix some comment styles...
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 08:33:37 +0000 (10:33 +0200)]
Fix some comment styles...

12 years agoFix output of util_memory_d
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 08:30:53 +0000 (10:30 +0200)]
Fix output of util_memory_d

12 years agonew warning: -Wlocal-constants
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 08:18:55 +0000 (10:18 +0200)]
new warning: -Wlocal-constants

12 years agodon't _move_ values out of immediates, it causes NULL strings to be code-generated
Wolfgang (Blub) Bumiller [Tue, 21 Aug 2012 08:08:17 +0000 (10:08 +0200)]
don't _move_ values out of immediates, it causes NULL strings to be code-generated

12 years agoSince function prototypes now don't cause the function to become a constant, we canno...
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:27:27 +0000 (18:27 +0200)]
Since function prototypes now don't cause the function to become a constant, we cannot check for a constant in [frame,think] notations anymore

12 years agoBetter handling of EOF - encountering EOF in parser_next will not return false yet...
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:15:31 +0000 (18:15 +0200)]
Better handling of EOF - encountering EOF in parser_next will not return false yet, this is a more elegant way...

12 years agobetter handlign of a too early error condition
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:14:02 +0000 (18:14 +0200)]
better handlign of a too early error condition

12 years agoLexer now returns TOKEN_EOF only once and afterwards TOKEN_FATAL
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:12:04 +0000 (18:12 +0200)]
Lexer now returns TOKEN_EOF only once and afterwards TOKEN_FATAL

12 years agoFix correction of parsiong of multiple variables: parse past the comma
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:10:06 +0000 (18:10 +0200)]
Fix correction of parsiong of multiple variables: parse past the comma

12 years agoCreating the ast_function for a function only when encountering its body, so if no...
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 16:09:41 +0000 (18:09 +0200)]
Creating the ast_function for a function only when encountering its body, so if no body is specified it works like a function pointer - just like QC wants it

12 years agoCorrected parsing of declarations of multiple variables
Wolfgang (Blub) Bumiller [Mon, 20 Aug 2012 15:59:19 +0000 (17:59 +0200)]
Corrected parsing of declarations of multiple variables

12 years agoir_values which are members of a vector should know that, so that liferange calc...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 19:37:29 +0000 (21:37 +0200)]
ir_values which are members of a vector should know that, so that liferange calc can use the vector rather than the member

12 years agoadded -Wused-uninitialized and warning about variables which may be used without...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 19:26:14 +0000 (21:26 +0200)]
added -Wused-uninitialized and warning about variables which may be used without being initialized

12 years agoRemoving the old LIFE_RANGE_WITHOUT_LAST_READ support
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 19:00:42 +0000 (21:00 +0200)]
Removing the old LIFE_RANGE_WITHOUT_LAST_READ support

12 years agostrip the newlines out of ir error messages, they're added by the msgprint routine
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:45:26 +0000 (20:45 +0200)]
strip the newlines out of ir error messages, they're added by the msgprint routine

12 years agomore context copies
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:43:34 +0000 (20:43 +0200)]
more context copies

12 years agohave the ir take over some more context data from the ast
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:43:04 +0000 (20:43 +0200)]
have the ir take over some more context data from the ast

12 years agoadd the backticks for a warning
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:41:31 +0000 (20:41 +0200)]
add the backticks for a warning

12 years agoadd the type for the invalid-type-for-global message
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:37:10 +0000 (20:37 +0200)]
add the type for the invalid-type-for-global message

12 years agoir_value_set_string needs to use a strdup which doesn't return NULL for an emptystring
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:35:51 +0000 (20:35 +0200)]
ir_value_set_string needs to use a strdup which doesn't return NULL for an emptystring

12 years agotake 'warnreturn' into account, don't ignore the parsewarnin's Werror status
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:32:07 +0000 (20:32 +0200)]
take 'warnreturn' into account, don't ignore the parsewarnin's Werror status

12 years agoDon't have the ast's codegen error on missing returns
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:28:14 +0000 (20:28 +0200)]
Don't have the ast's codegen error on missing returns

12 years agoset -Wmissing-return-values to on by default, new warning: control reaches end of...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:26:54 +0000 (20:26 +0200)]
set -Wmissing-return-values to on by default, new warning: control reaches end of non-void...

12 years agoparse_block gets a warn-return bool flag
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 18:20:39 +0000 (20:20 +0200)]
parse_block gets a warn-return bool flag

12 years agofunctions which have no living values but store_return values may cause the allocator...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:54:15 +0000 (19:54 +0200)]
functions which have no living values but store_return values may cause the allocator to be run with no allocations being made - in this case we shouldn't try accessing the empty array and simply exit the allocator

12 years agosame as before for loops: don't try creating a jump if the body ends in a return
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:45:53 +0000 (19:45 +0200)]
same as before for loops: don't try creating a jump if the body ends in a return

12 years agodon't try to create jumps in ifs if the block is already done
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:43:41 +0000 (19:43 +0200)]
don't try to create jumps in ifs if the block is already done

12 years agohave function declarations of functions with prototypes take over the actual declarat...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:39:58 +0000 (19:39 +0200)]
have function declarations of functions with prototypes take over the actual declaration's body's context data

12 years agoprovide the context to ir_functions
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:37:46 +0000 (19:37 +0200)]
provide the context to ir_functions

12 years agorelax parse_close_paren to allow values in parenthesis with no operators... duh
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:35:45 +0000 (19:35 +0200)]
relax parse_close_paren to allow values in parenthesis with no operators... duh

12 years agofix: use thinkfunc not nextthink, nextthink is set later
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:25:37 +0000 (19:25 +0200)]
fix: use thinkfunc not nextthink, nextthink is set later

12 years agoAutomatic prototyping of frame-functions
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:24:43 +0000 (19:24 +0200)]
Automatic prototyping of frame-functions

12 years agoRemoving old commented-out code
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 17:01:31 +0000 (19:01 +0200)]
Removing old commented-out code

12 years agomissing initializer
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 16:03:56 +0000 (18:03 +0200)]
missing initializer

12 years agoIR generation: for functions: first generate all defs, then the code, so access to...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 16:00:53 +0000 (18:00 +0200)]
IR generation: for functions: first generate all defs, then the code, so access to prototyped functions doesn't result in NULL code

12 years agosetting data/frames.qc right again
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 15:52:44 +0000 (17:52 +0200)]
setting data/frames.qc right again

12 years agoSTOREP instructions' first operand has to be considered a read-operand, not a write...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 15:46:10 +0000 (17:46 +0200)]
STOREP instructions' first operand has to be considered a read-operand, not a write operand, otherwise the life ranges will be wrong, and the value itself IS only read, not written to

12 years agofor void returning functions we can use store_return to avoid a useless store after it
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 15:42:22 +0000 (17:42 +0200)]
for void returning functions we can use store_return to avoid a useless store after it

12 years agocalls for now use store_value since we don't properly deal with its liferange yet...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 15:29:36 +0000 (17:29 +0200)]
calls for now use store_value since we don't properly deal with its liferange yet; fixing some local-alloation things; taking call parameters into account in ir_block_life_propagate

12 years agoFixing a misleading error message in ir.c
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:59:59 +0000 (16:59 +0200)]
Fixing a misleading error message in ir.c

12 years agoir: fix bug that functions without declared locals would put temps at position zero ...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:49:24 +0000 (16:49 +0200)]
ir: fix bug that functions without declared locals would put temps at position zero ...

12 years agoNicer prints in exec's prog_print_statement
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:42:12 +0000 (16:42 +0200)]
Nicer prints in exec's prog_print_statement

12 years agofix a wrong print in parsing.qc test
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:41:45 +0000 (16:41 +0200)]
fix a wrong print in parsing.qc test

12 years agoOops setting wrong members
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:18:39 +0000 (16:18 +0200)]
Oops setting wrong members

12 years agodata/frames.qc to test [frame,think]
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:14:19 +0000 (16:14 +0200)]
data/frames.qc to test [frame,think]

12 years agoFirst draft of handling the [frame,think] notation
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 14:13:29 +0000 (16:13 +0200)]
First draft of handling the [frame,think] notation

12 years agoqcvm: -trace flag
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 13:19:43 +0000 (15:19 +0200)]
qcvm: -trace flag

12 years agoFactoring out duplicate code into a function: create_vector_members; creating vector...
Wolfgang (Blub) Bumiller [Sun, 19 Aug 2012 12:34:23 +0000 (14:34 +0200)]
Factoring out duplicate code into a function: create_vector_members; creating vector members for vector function parameters

12 years agoimplement correct behaviour for shadows locals
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:56:42 +0000 (21:56 +0200)]
implement correct behaviour for shadows locals

12 years ago-Wlocal-shadows - note that -std=gmqcc is very different from the rest
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:54:19 +0000 (21:54 +0200)]
-Wlocal-shadows - note that -std=gmqcc is very different from the rest

12 years agosplitting parser_find_local up into find_local and find_param - find_local also takes...
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:42:52 +0000 (21:42 +0200)]
splitting parser_find_local up into find_local and find_param - find_local also takes a bool-ptr to tell the caller if it was a local or a global

12 years agoquotes around the variable name in some messages
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:35:47 +0000 (21:35 +0200)]
quotes around the variable name in some messages

12 years agoremove trailing \n from 2 error messages
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:32:29 +0000 (21:32 +0200)]
remove trailing \n from 2 error messages

12 years agoset olddecl so we don't access a NULL value when a variable already exists
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:31:53 +0000 (21:31 +0200)]
set olddecl so we don't access a NULL value when a variable already exists

12 years agooops - parsewarning returns true on -Werror, so we gotta invert here
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:07:23 +0000 (21:07 +0200)]
oops - parsewarning returns true on -Werror, so we gotta invert here

12 years ago-Wtoo-few-parameters on by deafult - for -std=gmqcc it's always an error
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 19:04:16 +0000 (21:04 +0200)]
-Wtoo-few-parameters on by deafult - for -std=gmqcc it's always an error

12 years agoast_type_adopt - ast_entfield now adopts the full type of the field
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 18:30:24 +0000 (20:30 +0200)]
ast_type_adopt - ast_entfield now adopts the full type of the field

12 years ago-Wmissing-return-values, off by default, ignored with -std=gmqcc because in that...
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 18:19:43 +0000 (20:19 +0200)]
-Wmissing-return-values, off by default, ignored with -std=gmqcc because in that standard it'll error

12 years agodata/vars.qc - when declaring a function, and it had a prototype - use the new parame...
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 18:16:51 +0000 (20:16 +0200)]
data/vars.qc - when declaring a function, and it had a prototype - use the new parameter names instead of the ones from the prototype, otherwise things get messy

12 years agoast_unary needs to set its type
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 18:02:18 +0000 (20:02 +0200)]
ast_unary needs to set its type

12 years agoDisable the member-of namespace check when -std != gmqcc
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 17:43:34 +0000 (19:43 +0200)]
Disable the member-of namespace check when -std != gmqcc

12 years agomove the member-of check for '.' to after applying the previous dot operators so...
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 17:42:38 +0000 (19:42 +0200)]
move the member-of check for '.' to after applying the previous dot operators so we don't need parens around 'a.b' of 'a.b.c = x'

12 years agodata/functions.qc for some more tests
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 17:39:48 +0000 (19:39 +0200)]
data/functions.qc for some more tests

12 years agoast_call: adopt the funciton's return type
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 17:37:51 +0000 (19:37 +0200)]
ast_call: adopt the funciton's return type

12 years agoast_return_delete: check if self->operand is actually set before ast_unref-ing it
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 16:01:52 +0000 (18:01 +0200)]
ast_return_delete: check if self->operand is actually set before ast_unref-ing it

12 years agoUse the current context, not the one from a NULL value... for ast_return
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 16:00:20 +0000 (18:00 +0200)]
Use the current context, not the one from a NULL value... for ast_return

12 years ago parse 'return' without values better
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:58:51 +0000 (17:58 +0200)]
 parse 'return' without values better

12 years agoast_return should accept NULL as value to create a simple 'return' without a value
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:58:38 +0000 (17:58 +0200)]
ast_return should accept NULL as value to create a simple 'return' without a value

12 years agoFixup some possibly uninitialized value when parsing 'return'
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:48:21 +0000 (17:48 +0200)]
Fixup some possibly uninitialized value when parsing 'return'

12 years agoset expression.next to NULL in ast_block_set_type if it won't be set to a new value
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:46:02 +0000 (17:46 +0200)]
set expression.next to NULL in ast_block_set_type if it won't be set to a new value

12 years agoDon't re-add defs which had a prototype
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:42:38 +0000 (17:42 +0200)]
Don't re-add defs which had a prototype

12 years agoadding data/proto.qc
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:32:32 +0000 (17:32 +0200)]
adding data/proto.qc

12 years agoast_value_copy should copy the expression substructure as well - exposing ast_value_c...
Wolfgang (Blub) Bumiller [Sat, 18 Aug 2012 15:16:20 +0000 (17:16 +0200)]
ast_value_copy should copy the expression substructure as well - exposing ast_value_copy to the outside since the parser needs to copy complete types when multiple variables are declared with commas