]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
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])
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.
Dale Weiler [Thu, 20 Dec 2012 23:07:33 +0000 (23:07 +0000)]
Merge branch 'master' of github.com:graphitemaster/gmqcc
Dale Weiler [Thu, 20 Dec 2012 23:07:06 +0000 (23:07 +0000)]
Implemented roboust compile-time endianess check.
Wolfgang Bumiller [Thu, 20 Dec 2012 22:52:54 +0000 (23:52 +0100)]
Remove old tempalloc code; disable -Olocaltemps for now
Wolfgang Bumiller [Thu, 20 Dec 2012 22:48:41 +0000 (23:48 +0100)]
Be more correct with sizes; use a better local-alloc strategy
Wolfgang Bumiller [Thu, 20 Dec 2012 22:27:23 +0000 (23:27 +0100)]
minor: fix ast_function_label
Wolfgang Bumiller [Thu, 20 Dec 2012 21:03:51 +0000 (22:03 +0100)]
Fix util_endianswap; and endianswap the LNO data as well
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
Wolfgang Bumiller [Thu, 20 Dec 2012 19:57:05 +0000 (20:57 +0100)]
*sigh*
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
Wolfgang Bumiller [Thu, 20 Dec 2012 19:56:08 +0000 (20:56 +0100)]
manpage: -fcorrect-logic, -ftrue-empty-strings, -ffalse-empty-strings
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
Wolfgang Bumiller [Thu, 20 Dec 2012 19:43:58 +0000 (20:43 +0100)]
Testcases for -ftrue-empty-strings and -ffalse-empty-strings
Wolfgang Bumiller [Thu, 20 Dec 2012 19:40:59 +0000 (20:40 +0100)]
Fix the -fcorrect-logic condition
Wolfgang Bumiller [Thu, 20 Dec 2012 19:33:05 +0000 (20:33 +0100)]
Fix -fcorrect-logic
Wolfgang Bumiller [Thu, 20 Dec 2012 19:26:54 +0000 (20:26 +0100)]
fix a leak in the local-allocator
Wolfgang Bumiller [Thu, 20 Dec 2012 19:26:14 +0000 (20:26 +0100)]
Fix a leak: free code_linenums
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
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
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
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
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
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
Wolfgang Bumiller [Thu, 20 Dec 2012 18:04:56 +0000 (19:04 +0100)]
unary not now uses NOT_F with -ftrue-empty-strings
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
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
Wolfgang Bumiller [Thu, 20 Dec 2012 15:56:22 +0000 (16:56 +0100)]
manpage: typo
Wolfgang Bumiller [Thu, 20 Dec 2012 15:55:00 +0000 (16:55 +0100)]
Fix condition on whether or not to print 'error' or 'warning'
Wolfgang Bumiller [Thu, 20 Dec 2012 15:53:09 +0000 (16:53 +0100)]
-Werror-<warning> should actually use opts_setwerror
Wolfgang Bumiller [Thu, 20 Dec 2012 15:49:10 +0000 (16:49 +0100)]
-Werror-<warning>, -Wno-error-<warning>, manpage updated
Wolfgang Bumiller [Thu, 20 Dec 2012 15:41:40 +0000 (16:41 +0100)]
manpage: -Wunreachable-code
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
Wolfgang Bumiller [Thu, 20 Dec 2012 15:29:32 +0000 (16:29 +0100)]
Turn -fallow-unreachable-code into a -Wunreachable-code
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
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
Wolfgang Bumiller [Thu, 20 Dec 2012 15:04:10 +0000 (16:04 +0100)]
-g sets opts.g and -debug causes blocks to be labeled
Wolfgang Bumiller [Thu, 20 Dec 2012 14:46:31 +0000 (15:46 +0100)]
sscanf_s only for _MSC_VER not WIN32 in exec.c
Wolfgang Bumiller [Thu, 20 Dec 2012 14:45:15 +0000 (15:45 +0100)]
Oh god I hate this so much
Wolfgang Bumiller [Thu, 20 Dec 2012 14:27:15 +0000 (15:27 +0100)]
that should have gone into the second to last commit
Wolfgang Bumiller [Thu, 20 Dec 2012 14:26:45 +0000 (15:26 +0100)]
WINDOWS 8 USERS ARE IDIOTS, YES YOU SHOULD TAKE THIS PERSONALLY
Wolfgang Bumiller [Thu, 20 Dec 2012 14:01:19 +0000 (15:01 +0100)]
ast_return needs the correct context...
Wolfgang Bumiller [Thu, 20 Dec 2012 13:41:16 +0000 (14:41 +0100)]
-fallow-unreachable-code
Wolfgang Bumiller [Thu, 20 Dec 2012 13:12:22 +0000 (14:12 +0100)]
vector initialization tests
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
Wolfgang Bumiller [Thu, 20 Dec 2012 12:44:53 +0000 (13:44 +0100)]
Remove the suffix entirely
Wolfgang Bumiller [Thu, 20 Dec 2012 11:55:21 +0000 (12:55 +0100)]
UL->ULL
Wolfgang Bumiller [Thu, 20 Dec 2012 11:00:39 +0000 (12:00 +0100)]
Added tests for 'noreturn'
Dale Weiler [Thu, 20 Dec 2012 10:21:31 +0000 (10:21 +0000)]
ugh todo: seed per ht, not per hash
Dale Weiler [Thu, 20 Dec 2012 10:20:16 +0000 (10:20 +0000)]
No more hacks
Dale Weiler [Thu, 20 Dec 2012 09:44:47 +0000 (09:44 +0000)]
fixes
Dale Weiler [Thu, 20 Dec 2012 09:01:01 +0000 (09:01 +0000)]
One last fix for mankind
Dale Weiler [Thu, 20 Dec 2012 08:51:29 +0000 (08:51 +0000)]
*sigh*
Dale Weiler [Thu, 20 Dec 2012 08:49:14 +0000 (08:49 +0000)]
Allow uname override
Dale Weiler [Thu, 20 Dec 2012 08:46:39 +0000 (08:46 +0000)]
Fix murmur hash seeding
Dale Weiler [Thu, 20 Dec 2012 08:45:54 +0000 (08:45 +0000)]
More fixes
Dale Weiler [Thu, 20 Dec 2012 08:19:43 +0000 (08:19 +0000)]
Another fix
Dale Weiler [Thu, 20 Dec 2012 08:17:04 +0000 (08:17 +0000)]
FTBFS fixes
Dale Weiler [Thu, 20 Dec 2012 00:22:22 +0000 (00:22 +0000)]
handle cygwin/mingw for makefile
Dale Weiler [Wed, 19 Dec 2012 21:37:37 +0000 (21:37 +0000)]
Typos
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.
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 21:17:22 +0000 (22:17 +0100)]
Applying the actual 'Fix FTFBS stuff' part
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 21:15:38 +0000 (22:15 +0100)]
Revert "Fix FTFBS stuff"
This reverts commit
2cc51b8eb060e6efab5b56cf471594911a79c5c1 .
Dale Weiler [Wed, 19 Dec 2012 21:05:24 +0000 (21:05 +0000)]
Fix FTFBS stuff
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
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
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
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:40:45 +0000 (20:40 +0100)]
NRCALL now sets block->final and block->is_return
Wolfgang (Blub) Bumiller [Wed, 19 Dec 2012 19:39:44 +0000 (20:39 +0100)]
ir_block_create_{phi,call} now check self->final
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
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
mhofstra [Tue, 18 Dec 2012 20:57:16 +0000 (21:57 +0100)]
Small typo fix to make it compile on x86
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>
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:58:21 +0000 (16:58 +0100)]
default make target now is 'all'
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:57:38 +0000 (16:57 +0100)]
Tests for perl-logic _types_
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
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
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:36:06 +0000 (16:36 +0100)]
Remove a TODO message
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:03:48 +0000 (16:03 +0100)]
make install-doc now also installs qcvm.q
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 15:03:29 +0000 (16:03 +0100)]
Adding qcvm.1
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
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:44:26 +0000 (15:44 +0100)]
fix wrong --version string
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
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:30:59 +0000 (15:30 +0100)]
BUGS, SEE ALSO and AUTHOR sections in the manpage
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 14:27:12 +0000 (15:27 +0100)]
It's -config=file, not -config file
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
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
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 12:40:59 +0000 (13:40 +0100)]
More jump removal
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 12:13:54 +0000 (13:13 +0100)]
*sigh*
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:58:15 +0000 (12:58 +0100)]
vector components are floats, not vectors
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:57:09 +0000 (12:57 +0100)]
Don't generate IF/IFNOT with +1 offsets
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:47:48 +0000 (12:47 +0100)]
-fsingle-vector-defs to disable _x,_y,_z generation
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 11:41:38 +0000 (12:41 +0100)]
Generate _x,_y,_z defs/fields
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
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'
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 10:57:30 +0000 (11:57 +0100)]
Don't generate 'jump +1' instructions
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 10:48:03 +0000 (11:48 +0100)]
Renaming gmqcc.init since it's used by default if it exists and it makes the testsuite fail
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 10:46:26 +0000 (11:46 +0100)]
Don't generate AINSTR_END anymore, use INSTR_DONE
Wolfgang (Blub) Bumiller [Tue, 18 Dec 2012 10:46:15 +0000 (11:46 +0100)]
cmd_options -> opts_cmd_t to make testsuite and executor compile again
Dale Weiler [Tue, 18 Dec 2012 05:22:23 +0000 (05:22 +0000)]
Allow setting configuration file via commandline