]> git.rm.cloudns.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
12 years agoGet gmqcc/qcvm compiling on windows again. Plus work in progress support for the...
Dale Weiler [Fri, 21 Dec 2012 06:00:51 +0000 (01:00 -0500)]
Get gmqcc/qcvm compiling on windows again.  Plus work in progress support for the testsuite on windows (does not compile yet).

12 years agoImplemented preprocessing error directive tests (should fail)
Dale Weiler [Fri, 21 Dec 2012 04:48:01 +0000 (04:48 +0000)]
Implemented preprocessing error directive tests (should fail)

12 years agoDocument ini.example
Dale Weiler [Fri, 21 Dec 2012 04:01:47 +0000 (04:01 +0000)]
Document ini.example

12 years agoUpdate ini.example (added UNREACHABLE_CODE, and CPP) as warning options
Dale Weiler [Fri, 21 Dec 2012 03:14:31 +0000 (03:14 +0000)]
Update ini.example (added UNREACHABLE_CODE, and CPP) as warning options

12 years agoadded -Wcpp (for turning off cpp warnings defined with #warning like GCC/clang/pathsc...
Dale Weiler [Fri, 21 Dec 2012 03:12:58 +0000 (03:12 +0000)]
added -Wcpp (for turning off cpp warnings defined with #warning like GCC/clang/pathscale .. no more [-Wunused-variable])

12 years agoImplemented #warning and #error preprocessor directives, they're functionally equival...
Dale Weiler [Fri, 21 Dec 2012 03:08:21 +0000 (03:08 +0000)]
Implemented #warning and #error preprocessor directives, they're functionally equivalent to CPPs (supporting both string constant and non-string constant versions).  Warnings however are printed with a [-Wunused-variable] which isn't correct (TODO: allow systematic changes of -W paramaters in relation to warning fields for preprocessor directives.

12 years agoMerge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Thu, 20 Dec 2012 23:07:33 +0000 (23:07 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc

12 years agoImplemented roboust compile-time endianess check.
Dale Weiler [Thu, 20 Dec 2012 23:07:06 +0000 (23:07 +0000)]
Implemented roboust compile-time endianess check.

12 years agoRemove old tempalloc code; disable -Olocaltemps for now
Wolfgang Bumiller [Thu, 20 Dec 2012 22:52:54 +0000 (23:52 +0100)]
Remove old tempalloc code; disable -Olocaltemps for now

12 years agoBe more correct with sizes; use a better local-alloc strategy
Wolfgang Bumiller [Thu, 20 Dec 2012 22:48:41 +0000 (23:48 +0100)]
Be more correct with sizes; use a better local-alloc strategy

12 years agominor: fix ast_function_label
Wolfgang Bumiller [Thu, 20 Dec 2012 22:27:23 +0000 (23:27 +0100)]
minor: fix ast_function_label

12 years agoFix util_endianswap; and endianswap the LNO data as well
Wolfgang Bumiller [Thu, 20 Dec 2012 21:03:51 +0000 (22:03 +0100)]
Fix util_endianswap; and endianswap the LNO data as well

12 years agoDon't check for is_return but for final at the end of a function so that if 'goto...
Wolfgang Bumiller [Thu, 20 Dec 2012 20:05:29 +0000 (21:05 +0100)]
Don't check for is_return but for final at the end of a function so that if 'goto' is the last expression we don't try to append a return

12 years ago*sigh*
Wolfgang Bumiller [Thu, 20 Dec 2012 19:57:05 +0000 (20:57 +0100)]
*sigh*

12 years agono need to check the array, the 2nd NOT is a NOT_F
Wolfgang Bumiller [Thu, 20 Dec 2012 19:56:49 +0000 (20:56 +0100)]
no need to check the array, the 2nd NOT is a NOT_F

12 years agomanpage: -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings
Wolfgang Bumiller [Thu, 20 Dec 2012 19:56:08 +0000 (20:56 +0100)]
manpage: -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings

12 years agofix -fcorrect-logic to use double-not instead of a single one - wow that was a bad one
Wolfgang Bumiller [Thu, 20 Dec 2012 19:55:56 +0000 (20:55 +0100)]
fix -fcorrect-logic to use double-not instead of a single one - wow that was a bad one

12 years agoTestcases for -ftrue-empty-strings and -ffalse-empty-strings
Wolfgang Bumiller [Thu, 20 Dec 2012 19:43:58 +0000 (20:43 +0100)]
Testcases for -ftrue-empty-strings and -ffalse-empty-strings

12 years agoFix the -fcorrect-logic condition
Wolfgang Bumiller [Thu, 20 Dec 2012 19:40:59 +0000 (20:40 +0100)]
Fix the -fcorrect-logic condition

12 years agoFix -fcorrect-logic
Wolfgang Bumiller [Thu, 20 Dec 2012 19:33:05 +0000 (20:33 +0100)]
Fix -fcorrect-logic

12 years agofix a leak in the local-allocator
Wolfgang Bumiller [Thu, 20 Dec 2012 19:26:54 +0000 (20:26 +0100)]
fix a leak in the local-allocator

12 years agoFix a leak: free code_linenums
Wolfgang Bumiller [Thu, 20 Dec 2012 19:26:14 +0000 (20:26 +0100)]
Fix a leak: free code_linenums

12 years agoFor loops may have an empty condition - don't try processing a NULL
Wolfgang Bumiller [Thu, 20 Dec 2012 19:23:35 +0000 (20:23 +0100)]
For loops may have an empty condition - don't try processing a NULL

12 years agowhile/for/do now all use process_condition, ast_loop got 2 new parameters for more...
Wolfgang Bumiller [Thu, 20 Dec 2012 19:22:31 +0000 (20:22 +0100)]
while/for/do now all use process_condition, ast_loop got 2 new parameters for more efficient translation

12 years agoprocess_condition function used by parse_if - need to still add it to loops
Wolfgang Bumiller [Thu, 20 Dec 2012 18:51:30 +0000 (19:51 +0100)]
process_condition function used by parse_if - need to still add it to loops

12 years ago-ftrue-empty-strings now changes type_not_instr[TYPE_STRING] to INSTR_NOT_F
Wolfgang Bumiller [Thu, 20 Dec 2012 18:32:57 +0000 (19:32 +0100)]
-ftrue-empty-strings now changes type_not_instr[TYPE_STRING] to INSTR_NOT_F

12 years agosince unary not doesn't fold these, remove them from immediate_is_true
Wolfgang Bumiller [Thu, 20 Dec 2012 18:19:12 +0000 (19:19 +0100)]
since unary not doesn't fold these, remove them from immediate_is_true

12 years agointroducing an immediate_is_true which follows the new -f flags on strings and vector...
Wolfgang Bumiller [Thu, 20 Dec 2012 18:18:22 +0000 (19:18 +0100)]
introducing an immediate_is_true which follows the new -f flags on strings and vector truthfulness, used in logic-op constant folding; const folding now disabled for functions-constants on NOT because it's stupid

12 years agounary not now uses NOT_F with -ftrue-empty-strings
Wolfgang Bumiller [Thu, 20 Dec 2012 18:04:56 +0000 (19:04 +0100)]
unary not now uses NOT_F with -ftrue-empty-strings

12 years agoMaking logical 'and' and 'or' use NOT_ in -fcorrect-logic for both operands normally...
Wolfgang Bumiller [Thu, 20 Dec 2012 18:00:23 +0000 (19:00 +0100)]
Making logical 'and' and 'or' use NOT_ in -fcorrect-logic for both operands normally, but only for the first with -fperl-logic

12 years agoAdding -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings flags; not used yet
Wolfgang Bumiller [Thu, 20 Dec 2012 17:59:05 +0000 (18:59 +0100)]
Adding -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings flags; not used yet

12 years agomanpage: typo 0.1.9
Wolfgang Bumiller [Thu, 20 Dec 2012 15:56:22 +0000 (16:56 +0100)]
manpage: typo

12 years agoFix condition on whether or not to print 'error' or 'warning'
Wolfgang Bumiller [Thu, 20 Dec 2012 15:55:00 +0000 (16:55 +0100)]
Fix condition on whether or not to print 'error' or 'warning'

12 years ago-Werror-<warning> should actually use opts_setwerror
Wolfgang Bumiller [Thu, 20 Dec 2012 15:53:09 +0000 (16:53 +0100)]
-Werror-<warning> should actually use opts_setwerror

12 years ago-Werror-<warning>, -Wno-error-<warning>, manpage updated
Wolfgang Bumiller [Thu, 20 Dec 2012 15:49:10 +0000 (16:49 +0100)]
-Werror-<warning>, -Wno-error-<warning>, manpage updated

12 years agomanpage: -Wunreachable-code
Wolfgang Bumiller [Thu, 20 Dec 2012 15:41:40 +0000 (16:41 +0100)]
manpage: -Wunreachable-code

12 years agoReorder the warnings in opts.c to match their oder in opts.def, added WARN_LOCAL_SHAD...
Wolfgang Bumiller [Thu, 20 Dec 2012 15:32:36 +0000 (16:32 +0100)]
Reorder the warnings in opts.c to match their oder in opts.def, added WARN_LOCAL_SHADOWS to the list with its default false parameter

12 years agoTurn -fallow-unreachable-code into a -Wunreachable-code
Wolfgang Bumiller [Thu, 20 Dec 2012 15:29:32 +0000 (16:29 +0100)]
Turn -fallow-unreachable-code into a -Wunreachable-code

12 years agoFix object dependency: OBJ -> OBJ_D so they all depend on gmqcc.h again properly
Wolfgang Bumiller [Thu, 20 Dec 2012 15:28:35 +0000 (16:28 +0100)]
Fix object dependency: OBJ -> OBJ_D so they all depend on gmqcc.h again properly

12 years agoTemporarily fix noreturn bug by creating an actual dummy return instruction after...
Wolfgang Bumiller [Thu, 20 Dec 2012 15:20:08 +0000 (16:20 +0100)]
Temporarily fix noreturn bug by creating an actual dummy return instruction after the call for now

12 years ago-g sets opts.g and -debug causes blocks to be labeled
Wolfgang Bumiller [Thu, 20 Dec 2012 15:04:10 +0000 (16:04 +0100)]
-g sets opts.g and -debug causes blocks to be labeled

12 years agosscanf_s only for _MSC_VER not WIN32 in exec.c
Wolfgang Bumiller [Thu, 20 Dec 2012 14:46:31 +0000 (15:46 +0100)]
sscanf_s only for _MSC_VER not WIN32 in exec.c

12 years agoOh god I hate this so much
Wolfgang Bumiller [Thu, 20 Dec 2012 14:45:15 +0000 (15:45 +0100)]
Oh god I hate this so much

12 years agothat should have gone into the second to last commit
Wolfgang Bumiller [Thu, 20 Dec 2012 14:27:15 +0000 (15:27 +0100)]
that should have gone into the second to last commit

12 years agoWINDOWS 8 USERS ARE IDIOTS, YES YOU SHOULD TAKE THIS PERSONALLY
Wolfgang Bumiller [Thu, 20 Dec 2012 14:26:45 +0000 (15:26 +0100)]
WINDOWS 8 USERS ARE IDIOTS, YES YOU SHOULD TAKE THIS PERSONALLY

12 years agoast_return needs the correct context...
Wolfgang Bumiller [Thu, 20 Dec 2012 14:01:19 +0000 (15:01 +0100)]
ast_return needs the correct context...

12 years ago-fallow-unreachable-code
Wolfgang Bumiller [Thu, 20 Dec 2012 13:41:16 +0000 (14:41 +0100)]
-fallow-unreachable-code

12 years agovector initialization tests
Wolfgang Bumiller [Thu, 20 Dec 2012 13:12:22 +0000 (14:12 +0100)]
vector initialization tests

12 years agomaking the uninitialized-var on vector warning now check all members; ir_value_vector...
Wolfgang Bumiller [Thu, 20 Dec 2012 13:06:25 +0000 (14:06 +0100)]
making the uninitialized-var on vector warning now check all members; ir_value_vector_member now also appends _x,_y,_z since they're used in the used-unintialized message

12 years agoRemove the suffix entirely
Wolfgang Bumiller [Thu, 20 Dec 2012 12:44:53 +0000 (13:44 +0100)]
Remove the suffix entirely

12 years agoUL->ULL
Wolfgang Bumiller [Thu, 20 Dec 2012 11:55:21 +0000 (12:55 +0100)]
UL->ULL

12 years agoAdded tests for 'noreturn'
Wolfgang Bumiller [Thu, 20 Dec 2012 11:00:39 +0000 (12:00 +0100)]
Added tests for 'noreturn'

12 years agough todo: seed per ht, not per hash
Dale Weiler [Thu, 20 Dec 2012 10:21:31 +0000 (10:21 +0000)]
ugh todo: seed per ht, not per hash

12 years agoNo more hacks
Dale Weiler [Thu, 20 Dec 2012 10:20:16 +0000 (10:20 +0000)]
No more hacks

12 years agofixes
Dale Weiler [Thu, 20 Dec 2012 09:44:47 +0000 (09:44 +0000)]
fixes

12 years agoOne last fix for mankind
Dale Weiler [Thu, 20 Dec 2012 09:01:01 +0000 (09:01 +0000)]
One last fix for mankind

12 years ago*sigh*
Dale Weiler [Thu, 20 Dec 2012 08:51:29 +0000 (08:51 +0000)]
*sigh*

12 years agoAllow uname override
Dale Weiler [Thu, 20 Dec 2012 08:49:14 +0000 (08:49 +0000)]
Allow uname override

12 years agoFix murmur hash seeding
Dale Weiler [Thu, 20 Dec 2012 08:46:39 +0000 (08:46 +0000)]
Fix murmur hash seeding

12 years agoMore fixes
Dale Weiler [Thu, 20 Dec 2012 08:45:54 +0000 (08:45 +0000)]
More fixes

12 years agoAnother fix
Dale Weiler [Thu, 20 Dec 2012 08:19:43 +0000 (08:19 +0000)]
Another fix

12 years agoFTBFS fixes
Dale Weiler [Thu, 20 Dec 2012 08:17:04 +0000 (08:17 +0000)]
FTBFS fixes

12 years agohandle cygwin/mingw for makefile
Dale Weiler [Thu, 20 Dec 2012 00:22:22 +0000 (00:22 +0000)]
handle cygwin/mingw for makefile

12 years agoTypos
Dale Weiler [Wed, 19 Dec 2012 21:37:37 +0000 (21:37 +0000)]
Typos

12 years agoImplemened -fail procedure type for testsuite. Essentially performs compilation...
Dale Weiler [Wed, 19 Dec 2012 21:35:47 +0000 (21:35 +0000)]
Implemened -fail procedure type for testsuite.  Essentially performs compilation on the idea that the compilation should fail, for the test to succeed, otherwise the test actually fails.

12 years agoApplying the actual 'Fix FTFBS stuff' part
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 21:17:22 +0000 (22:17 +0100)]
Applying the actual 'Fix FTFBS stuff' part

12 years agoRevert "Fix FTFBS stuff"
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 21:15:38 +0000 (22:15 +0100)]
Revert "Fix FTFBS stuff"

This reverts commit 2cc51b8eb060e6efab5b56cf471594911a79c5c1.

12 years agoFix FTFBS stuff
Dale Weiler [Wed, 19 Dec 2012 21:05:24 +0000 (21:05 +0000)]
Fix FTFBS stuff

12 years ago'noreturn' is - for now - a keyword, and used just like noref/var/const, to mark...
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:54:54 +0000 (20:54 +0100)]
'noreturn' is - for now - a keyword, and used just like noref/var/const, to mark a function as not-returning

12 years agoast_call now passes AST_FLAG_NORETURN on to the IR
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:47:01 +0000 (20:47 +0100)]
ast_call now passes AST_FLAG_NORETURN on to the IR

12 years agoremoving ast_expression_common.variadic, adding ast_expression_common.flags, added...
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:45:48 +0000 (20:45 +0100)]
removing ast_expression_common.variadic, adding ast_expression_common.flags, added AST_FLAG_VARIADIC and AST_FLAG_NORETURN

12 years agoNRCALL now sets block->final and block->is_return
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:40:45 +0000 (20:40 +0100)]
NRCALL now sets block->final and block->is_return

12 years agoir_block_create_{phi,call} now check self->final
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:39:44 +0000 (20:39 +0100)]
ir_block_create_{phi,call} now check self->final

12 years agoVINSTR_NRCALL, translated like any other call for now; to be used to mark a call...
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:38:32 +0000 (20:38 +0100)]
VINSTR_NRCALL, translated like any other call for now; to be used to mark a call which never returns, ie the error builtin

12 years agoMerge pull request #48 from mhofstra/patch-1
Wolfgang Bumiller [Tue, 18 Dec 2012 21:01:43 +0000 (13:01 -0800)]
Merge pull request #48 from mhofstra/patch-1

Small typo fix to make it compile on x86

12 years agoSmall typo fix to make it compile on x86
mhofstra [Tue, 18 Dec 2012 20:57:16 +0000 (21:57 +0100)]
Small typo fix to make it compile on x86

12 years agoFixes for some minor bugs clang-analyzer and cppcheck found
Rudolf Polzer [Tue, 18 Dec 2012 15:45:18 +0000 (16:45 +0100)]
Fixes for some minor bugs clang-analyzer and cppcheck found

Signed-off-by: Dale Weiler <killfieldengine@gmail.com>
12 years agodefault make target now is 'all'
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:58:21 +0000 (16:58 +0100)]
default make target now is 'all'

12 years agoTests for perl-logic _types_
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:57:38 +0000 (16:57 +0100)]
Tests for perl-logic _types_

12 years ago-fperl-logic now doesn't allow logic ops with operands of different types, but theref...
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:56:22 +0000 (16:56 +0100)]
-fperl-logic now doesn't allow logic ops with operands of different types, but therefore uses the correct output type

12 years agoAdded intrinsic: __builtin_debug_typestring(expr) to get the type of an expression...
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:52:30 +0000 (16:52 +0100)]
Added intrinsic: __builtin_debug_typestring(expr) to get the type of an expression as string

12 years agoRemove a TODO message
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:36:06 +0000 (16:36 +0100)]
Remove a TODO message

12 years agomake install-doc now also installs qcvm.q
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:03:48 +0000 (16:03 +0100)]
make install-doc now also installs qcvm.q

12 years agoAdding qcvm.1
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:03:29 +0000 (16:03 +0100)]
Adding qcvm.1

12 years agoImproved parameter handling of qcvm a little, added --version and --help
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:46:26 +0000 (15:46 +0100)]
Improved parameter handling of qcvm a little, added --version and --help

12 years agofix wrong --version string
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:44:26 +0000 (15:44 +0100)]
fix wrong --version string

12 years agoBetter usage message for qcvm, don't exit after any of the information prints - but...
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:39:20 +0000 (15:39 +0100)]
Better usage message for qcvm, don't exit after any of the information prints - but don't execute if any of them are used

12 years agoBUGS, SEE ALSO and AUTHOR sections in the manpage
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:30:59 +0000 (15:30 +0100)]
BUGS, SEE ALSO and AUTHOR sections in the manpage

12 years agoIt's -config=file, not -config file
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:27:12 +0000 (15:27 +0100)]
It's -config=file, not -config file

12 years agoAdded -config to usage and manpage, added a CONFIG section in the manpage describing...
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:26:41 +0000 (15:26 +0100)]
Added -config to usage and manpage, added a CONFIG section in the manpage describing the ini file format, and added a short example to it

12 years agoAdd included -fs and -Ws to for each -std in the manpage
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 13:21:01 +0000 (14:21 +0100)]
Add included -fs and -Ws to for each -std in the manpage

12 years agoMore jump removal
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 12:40:59 +0000 (13:40 +0100)]
More jump removal

12 years ago*sigh*
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 12:13:54 +0000 (13:13 +0100)]
*sigh*

12 years agovector components are floats, not vectors
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:58:15 +0000 (12:58 +0100)]
vector components are floats, not vectors

12 years agoDon't generate IF/IFNOT with +1 offsets
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:57:09 +0000 (12:57 +0100)]
Don't generate IF/IFNOT with +1 offsets

12 years ago-fsingle-vector-defs to disable _x,_y,_z generation
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:47:48 +0000 (12:47 +0100)]
-fsingle-vector-defs to disable _x,_y,_z generation

12 years agoGenerate _x,_y,_z defs/fields
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:41:38 +0000 (12:41 +0100)]
Generate _x,_y,_z defs/fields

12 years agoqcvm -pringdefs now prints [SAVE] next to globals with DEF_SAVEFLAG set
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:41:29 +0000 (12:41 +0100)]
qcvm -pringdefs now prints [SAVE] next to globals with DEF_SAVEFLAG set

12 years agoDEF_SAVEGLOBAL flag is now applied on initialized non-constant globals, and is not...
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:02:33 +0000 (12:02 +0100)]
DEF_SAVEGLOBAL flag is now applied on initialized non-constant globals, and is not applied on 'consts'

12 years agoDon't generate 'jump +1' instructions
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 10:57:30 +0000 (11:57 +0100)]
Don't generate 'jump +1' instructions