]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Dale Weiler [Sun, 8 Sep 2013 17:05:20 +0000 (13:05 -0400)]
Merge branch 'master' into cooking
Dale Weiler [Sun, 8 Sep 2013 17:04:07 +0000 (13:04 -0400)]
Fix dependincies
Dale Weiler [Sat, 31 Aug 2013 20:52:46 +0000 (16:52 -0400)]
Always print the char the lexer fails on for a token.
Dale Weiler [Sat, 31 Aug 2013 18:49:06 +0000 (14:49 -0400)]
Vector cross product virtual instruction, now >< operator works for non-constant vectors. Thanks divVerent for the help.
Dale Weiler [Sat, 31 Aug 2013 17:41:25 +0000 (13:41 -0400)]
Implemented >< (vector cross product operator). Currently support for constants only.
Dale Weiler [Sat, 31 Aug 2013 16:57:24 +0000 (12:57 -0400)]
Prevent divide by zero for / and % operations in constant folding (previously caused compiler SIGFPE), instead "inf" is generated for both cases. This closes #124
Dale Weiler [Sat, 31 Aug 2013 13:53:19 +0000 (09:53 -0400)]
There is no bug since the testsuite uses -o for preprocessed output (thus the printf never gets involved) if the testsuite read the preprocessor output from stdout than things would be wrong, since however it isn't there is no bug.
Wolfgang Bumiller [Sat, 31 Aug 2013 09:35:12 +0000 (11:35 +0200)]
Don't allow a stale 'some_type;' declaration without an actual variable name; Same for typedef; closes #119
Wolfgang Bumiller [Sat, 31 Aug 2013 08:55:03 +0000 (10:55 +0200)]
this one can be reached - make it a little more helpful
Wolfgang Bumiller [Sat, 31 Aug 2013 08:48:24 +0000 (10:48 +0200)]
more thorough check for whether an ast node starts a new label; closes #121
Wolfgang Bumiller [Sat, 31 Aug 2013 08:39:31 +0000 (10:39 +0200)]
factor check for assignment-to-constant into a function; improve its error output; closes #122
Wolfgang Bumiller [Sat, 31 Aug 2013 08:19:10 +0000 (10:19 +0200)]
fix unhelpful error message; fixes #123
Dale Weiler [Fri, 30 Aug 2013 11:23:15 +0000 (07:23 -0400)]
Logic elsewhere handles this (no need to duplicate)
Dale Weiler [Fri, 30 Aug 2013 11:12:16 +0000 (07:12 -0400)]
intrinsic folding cleanups (and improvements.)
Dale Weiler [Fri, 30 Aug 2013 10:49:24 +0000 (06:49 -0400)]
Rid of util_debug
Dale Weiler [Thu, 29 Aug 2013 11:56:22 +0000 (07:56 -0400)]
Make -fshort-logic -funtyped-nil -fvariadic-args default for -std=gmqcc
Dale Weiler [Thu, 29 Aug 2013 11:19:19 +0000 (07:19 -0400)]
Remove &~= operator from gmqccs operator table, only fteqcc supports it.
Dale Weiler [Thu, 29 Aug 2013 11:08:03 +0000 (07:08 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Thu, 29 Aug 2013 11:07:43 +0000 (07:07 -0400)]
Some changes changes
Wolfgang Bumiller [Thu, 29 Aug 2013 08:22:48 +0000 (10:22 +0200)]
this should allow for better detection of precedence issues
Wolfgang Bumiller [Thu, 29 Aug 2013 06:26:17 +0000 (08:26 +0200)]
also warn about mixing logical and/or operations without parenthesis
Wolfgang Bumiller [Thu, 29 Aug 2013 06:18:06 +0000 (08:18 +0200)]
warn when mixing different bitops without parenthesis around them
Dale Weiler [Thu, 29 Aug 2013 04:18:48 +0000 (00:18 -0400)]
Fix folding logic for conditions.
Dale Weiler [Thu, 29 Aug 2013 04:05:37 +0000 (00:05 -0400)]
Implement [[eraseable]] attribute. When used with a function it instructs the AST (which than transfers logic to the IR) that the function (or variable) is potentially unused (verified by checking the read count). This than propogates through the IR and prevents the IR from generating both the definition and global/function. The intrinsics system uses this as well to prevent intrinsic functions from being generated unless they're used.
Dale Weiler [Wed, 28 Aug 2013 17:01:46 +0000 (13:01 -0400)]
Fix build on clang
Dale Weiler [Wed, 28 Aug 2013 16:46:22 +0000 (12:46 -0400)]
Constant fold intrinsics if their arguments are constant. TODO: reference count intrinsics such that they're not generated unless they're used, currently when an intrinsic can be folded-away it's marked for generation and makes it to the final output binary even though it isn't used.
Dale Weiler [Wed, 28 Aug 2013 15:28:27 +0000 (11:28 -0400)]
Implemented a __builtin_fabs intrinsic.
Dale Weiler [Wed, 28 Aug 2013 14:39:48 +0000 (10:39 -0400)]
Fix fold-dce for if(0)
Wolfgang Bumiller [Wed, 28 Aug 2013 12:40:23 +0000 (14:40 +0200)]
Add missing -width to .Bl in doc/gmqpak.1
Wolfgang Bumiller [Wed, 28 Aug 2013 12:38:51 +0000 (14:38 +0200)]
Fix bad use of .D1 in doc/qcvm.1
Wolfgang Bumiller [Wed, 28 Aug 2013 12:33:09 +0000 (14:33 +0200)]
misc/check-doc.sh: run mandoc -Tlint -Wall on the manpages
Wolfgang Bumiller [Wed, 28 Aug 2013 12:20:33 +0000 (14:20 +0200)]
allow initializing shadowed locals outside of -std=gmqcc - in this case it becomes a regular assignment to the old declaration which is consistent with fteqcc
Dale Weiler [Wed, 28 Aug 2013 07:45:40 +0000 (03:45 -0400)]
Cleanups
Dale Weiler [Wed, 28 Aug 2013 07:40:35 +0000 (03:40 -0400)]
Handle return status from compiler, this fixes false positivies in the testsuite when the compiler segfaults and the testsuite still reports succeeded, now it won't hopefully.
Dale Weiler [Wed, 28 Aug 2013 07:34:05 +0000 (03:34 -0400)]
Don't ignore empty newlines when match in the testsuite, instead only ignore when procedure type is -pp (i.e preprocessing).
Dale Weiler [Tue, 27 Aug 2013 10:41:03 +0000 (06:41 -0400)]
Some style fixes for tests
Dale Weiler [Tue, 27 Aug 2013 10:39:51 +0000 (06:39 -0400)]
Forgot this one
Dale Weiler [Tue, 27 Aug 2013 10:35:58 +0000 (06:35 -0400)]
A test for that xor stuff (the same one I used to cause the bug to manifest in the first place).
Rudolf Polzer [Tue, 27 Aug 2013 10:27:20 +0000 (12:27 +0200)]
Fix XOR maths for overlapping inputs by setting the lifetimes correctly.
Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
Wolfgang Bumiller [Tue, 27 Aug 2013 08:42:09 +0000 (10:42 +0200)]
ast_binary->right_first and an execution order check
Dale Weiler [Tue, 27 Aug 2013 08:28:22 +0000 (04:28 -0400)]
Merge divVerent/ftypeless-stores, but rid of the macro abuse.
Dale Weiler [Tue, 27 Aug 2013 08:28:11 +0000 (04:28 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Tue, 27 Aug 2013 08:19:05 +0000 (10:19 +0200)]
error on uninitialized arrays of unspecified size; otherwise it errors about a size overflow
Wolfgang Bumiller [Tue, 27 Aug 2013 08:09:31 +0000 (10:09 +0200)]
bail out when encountering an invalid array size in the ast as it's likely to cause breakage when trying to generate them anyway
Dale Weiler [Tue, 27 Aug 2013 08:07:17 +0000 (04:07 -0400)]
Merge branch 'divVerent/ftypeless-stores' of git://git.xonotic.org/xonotic/gmqcc into cooking
Wolfgang Bumiller [Tue, 27 Aug 2013 08:00:24 +0000 (10:00 +0200)]
fix testcase workarounds
Dale Weiler [Tue, 27 Aug 2013 07:57:09 +0000 (03:57 -0400)]
And there she goes, them space swallowing whores.
Rudolf Polzer [Tue, 27 Aug 2013 07:46:58 +0000 (09:46 +0200)]
New options: -ftypeless-stores and -fsort-operands
These flags reduce entropy, but not size, of the generated assembly
code. This helps compressability of the files.
Additionally, -ftypeless-stores might SLIGHTLY improve engine
performance due to less instructions being used (so branch prediction
might work better). Probably cannot be measured though.
Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
Dale Weiler [Mon, 26 Aug 2013 18:14:33 +0000 (14:14 -0400)]
Add support for columns to LNOF files.
Dale Weiler [Mon, 26 Aug 2013 17:10:38 +0000 (13:10 -0400)]
Fix testsuite for when a process crashes (do not consider it a success)
Dale Weiler [Mon, 26 Aug 2013 17:05:54 +0000 (13:05 -0400)]
Fix testsuite
Wolfgang Bumiller [Mon, 26 Aug 2013 16:53:09 +0000 (18:53 +0200)]
reset the column counter on a newline
Dale Weiler [Mon, 26 Aug 2013 16:36:17 +0000 (12:36 -0400)]
Merge branch 'divVerent/submit/vector-bitops' of git://git.xonotic.org/xonotic/gmqcc into cooking
Rudolf Polzer [Mon, 26 Aug 2013 08:25:29 +0000 (10:25 +0200)]
Support vector bitor/bitand/bitxor.
Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
Wolfgang Bumiller [Mon, 26 Aug 2013 08:23:20 +0000 (10:23 +0200)]
error when trying to pass a TYPE_NOEXPR value to ir_instr_op
Wolfgang Bumiller [Mon, 26 Aug 2013 08:23:03 +0000 (10:23 +0200)]
ir_builder now has a vinstr_temp array, a bunch of temps (currently 1) which can be used for virtual instruction translation
Dale Weiler [Thu, 22 Aug 2013 03:28:49 +0000 (23:28 -0400)]
Some typos
Dale Weiler [Wed, 21 Aug 2013 13:49:26 +0000 (09:49 -0400)]
Make makes output consistent with BSD makes output for make
Wolfgang Bumiller [Wed, 21 Aug 2013 08:45:28 +0000 (10:45 +0200)]
archlinux PKGBUILDs: don't use install's -D switch - now they should work for both ArchLinux and ArchBSD
Dale Weiler [Wed, 21 Aug 2013 04:29:33 +0000 (04:29 +0000)]
Generate PDF documentation from man pages for windows releases.
Dale Weiler [Mon, 19 Aug 2013 23:31:57 +0000 (23:31 +0000)]
Mark the beginning of the next release, master is now stable.
Dale Weiler [Mon, 19 Aug 2013 23:18:03 +0000 (23:18 +0000)]
Fix that
Dale Weiler [Mon, 19 Aug 2013 23:15:41 +0000 (23:15 +0000)]
Slackware support to website generation.
Dale Weiler [Mon, 19 Aug 2013 23:06:03 +0000 (16:06 -0700)]
Merge pull request #117 from matthiaskrgr/master_PKGBUILD
Master pkgbuild
Matthias Krüger [Mon, 19 Aug 2013 22:06:01 +0000 (00:06 +0200)]
Merge remote-tracking branch 'upstream/master' into master_PKGBUILD
Matthias Krüger [Mon, 19 Aug 2013 22:04:55 +0000 (00:04 +0200)]
PKGBUILD: release: update
Matthias Krüger [Mon, 19 Aug 2013 21:50:10 +0000 (23:50 +0200)]
PKGBUILD: git: update
Dale Weiler [Mon, 19 Aug 2013 21:38:18 +0000 (21:38 +0000)]
This should be the tag
Dale Weiler [Mon, 19 Aug 2013 21:34:49 +0000 (21:34 +0000)]
Mark release, ready to tag it and bag it.
Dale Weiler [Mon, 19 Aug 2013 02:16:16 +0000 (02:16 +0000)]
Added style + indent rule, fixed some indenting as well
Dale Weiler [Mon, 19 Aug 2013 00:59:41 +0000 (00:59 +0000)]
Newline rule
Dale Weiler [Sun, 18 Aug 2013 23:44:23 +0000 (23:44 +0000)]
Please the Samual
Dale Weiler [Sat, 17 Aug 2013 23:50:21 +0000 (23:50 +0000)]
Fix that rule
Dale Weiler [Sat, 17 Aug 2013 23:49:47 +0000 (23:49 +0000)]
Added whitespace fix rule to include.mk
Dale Weiler [Sat, 17 Aug 2013 23:43:41 +0000 (23:43 +0000)]
Remove some trailing whitespace
Dale Weiler [Sat, 17 Aug 2013 23:39:06 +0000 (23:39 +0000)]
Remove that idiom, and use GMQCC_ARRAY_COUNT.
Dale Weiler [Sat, 17 Aug 2013 22:19:40 +0000 (22:19 +0000)]
Forgot about this one
Dale Weiler [Sat, 17 Aug 2013 22:17:14 +0000 (22:17 +0000)]
They don't go there, fuck you grep.
Dale Weiler [Sat, 17 Aug 2013 22:16:40 +0000 (22:16 +0000)]
Cleanups and update CHANGES
Dale Weiler [Fri, 16 Aug 2013 09:09:56 +0000 (09:09 +0000)]
Fix the build
Dale Weiler [Fri, 16 Aug 2013 09:03:36 +0000 (09:03 +0000)]
Make it compile in visual studio again, without warnings.
Dale Weiler [Fri, 16 Aug 2013 08:16:03 +0000 (08:16 +0000)]
Update documentation
Dale Weiler [Fri, 16 Aug 2013 07:33:57 +0000 (07:33 +0000)]
Some testing for valgrind in the makefile
Dale Weiler [Fri, 16 Aug 2013 07:22:01 +0000 (07:22 +0000)]
Valgrind integration for our memory allocator.
Dale Weiler [Fri, 16 Aug 2013 04:22:53 +0000 (04:22 +0000)]
Update the ini example, holy hell we have more options than I imagined.
Dale Weiler [Fri, 16 Aug 2013 03:28:02 +0000 (03:28 +0000)]
Rework some build stuff for better output and to enable strict prototypes
Dale Weiler [Thu, 15 Aug 2013 06:09:28 +0000 (06:09 +0000)]
Make our allocator slightly faster with branch hinting.
Dale Weiler [Thu, 15 Aug 2013 03:45:50 +0000 (03:45 +0000)]
Track constant folds in opts_optimization list .. this could be handled better I assume.
Dale Weiler [Wed, 14 Aug 2013 10:16:04 +0000 (10:16 +0000)]
Perform some strict aliasing all over this biatch. We ain't trippin on code that breaks it.
Wolfgang Bumiller [Wed, 14 Aug 2013 10:09:26 +0000 (12:09 +0200)]
remove the 'opts' global from test.c and exec.c as opts.c defines it and is linked into both the testsuite and qcvm
Dale Weiler [Wed, 14 Aug 2013 07:41:09 +0000 (07:41 +0000)]
Handle some more errors
Dale Weiler [Wed, 14 Aug 2013 07:19:49 +0000 (07:19 +0000)]
Some bug fixes
Dale Weiler [Wed, 14 Aug 2013 06:22:32 +0000 (06:22 +0000)]
Remove my MT impl for PRNG, it's full of buffer overflows that I don't want to fix. Just fallback to using srand/rand
Dale Weiler [Wed, 14 Aug 2013 06:19:48 +0000 (06:19 +0000)]
Remove vec_upload
Dale Weiler [Wed, 14 Aug 2013 06:12:43 +0000 (06:12 +0000)]
Update deps
Dale Weiler [Wed, 14 Aug 2013 06:02:15 +0000 (06:02 +0000)]
Made intrinsics seperate from the parser.
Dale Weiler [Wed, 14 Aug 2013 04:27:11 +0000 (04:27 +0000)]
Fix
Dale Weiler [Wed, 14 Aug 2013 04:24:06 +0000 (04:24 +0000)]
Cleanups
Dale Weiler [Wed, 14 Aug 2013 04:08:00 +0000 (04:08 +0000)]
Some statistics as Samual wanted.
Dale Weiler [Wed, 14 Aug 2013 03:24:00 +0000 (03:24 +0000)]
Disable statistics that are irrelevant to QuakeC coders