]> git.rm.cloudns.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
11 years agoEh, only if peephole optimizations are turned on.
Dale Weiler [Sat, 28 Sep 2013 10:41:40 +0000 (06:41 -0400)]
Eh, only if peephole optimizations are turned on.

11 years agoLess casts.
Dale Weiler [Sat, 28 Sep 2013 10:36:00 +0000 (06:36 -0400)]
Less casts.

11 years agoIt was much easier in the AST, really.
Dale Weiler [Sat, 28 Sep 2013 10:33:15 +0000 (06:33 -0400)]
It was much easier in the AST, really.

11 years agoRemove the rest of it.
Dale Weiler [Sat, 28 Sep 2013 10:10:02 +0000 (06:10 -0400)]
Remove the rest of it.

11 years agoRemove it, maybe it can be done in the AST instead.
Dale Weiler [Sat, 28 Sep 2013 10:09:24 +0000 (06:09 -0400)]
Remove it, maybe it can be done in the AST instead.

11 years agoEh.
Dale Weiler [Sat, 28 Sep 2013 09:36:09 +0000 (05:36 -0400)]
Eh.

11 years agoOptimize for superfluous cases of NOT, i.e !!!!x can be simplified to !!x.
Dale Weiler [Sat, 28 Sep 2013 09:34:53 +0000 (05:34 -0400)]
Optimize for superfluous cases of NOT, i.e !!!!x can be simplified to !!x.

11 years agoMove it over
Dale Weiler [Sat, 28 Sep 2013 07:41:18 +0000 (03:41 -0400)]
Move it over

11 years agoOptimizng compile flags
Igor Gnatenko [Wed, 25 Sep 2013 21:57:07 +0000 (01:57 +0400)]
Optimizng compile flags

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
11 years agoUpdate to 0.3.0 (improved new package: gmqpak)
Igor Gnatenko [Fri, 20 Sep 2013 19:21:39 +0000 (23:21 +0400)]
Update to 0.3.0 (improved new package: gmqpak)

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
11 years agoInitial release
Igor Gnatenko [Sat, 27 Jul 2013 18:44:42 +0000 (22:44 +0400)]
Initial release

Add spec and patch

Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
11 years agoFix alias type check
Dale Weiler [Thu, 26 Sep 2013 12:09:55 +0000 (08:09 -0400)]
Fix alias type check

11 years agoImplement constant folding on ternary operations via fold_cond.
Dale Weiler [Thu, 26 Sep 2013 10:51:49 +0000 (06:51 -0400)]
Implement constant folding on ternary operations via fold_cond.

11 years agoConsistency
Dale Weiler [Wed, 25 Sep 2013 20:19:33 +0000 (16:19 -0400)]
Consistency

11 years agoCheap quick hack for ignoring #pragma to EOL
Dale Weiler [Wed, 25 Sep 2013 19:35:18 +0000 (15:35 -0400)]
Cheap quick hack for ignoring #pragma to EOL

11 years agoremove -printf option from find; remove the misplaced 'local's
Wolfgang Bumiller [Wed, 25 Sep 2013 09:16:15 +0000 (11:16 +0200)]
remove -printf option from find; remove the misplaced 'local's

11 years agothere's no pushd/popd in my sh
Wolfgang Bumiller [Wed, 25 Sep 2013 09:14:59 +0000 (11:14 +0200)]
there's no pushd/popd in my sh

11 years agoSome grammar
Dale Weiler [Wed, 25 Sep 2013 08:24:09 +0000 (04:24 -0400)]
Some grammar

11 years agoFix some stuff for xonotic and make check-proj actually use the options line correctly.
Dale Weiler [Wed, 25 Sep 2013 08:23:06 +0000 (04:23 -0400)]
Fix some stuff for xonotic and make check-proj actually use the options line correctly.

11 years agoAdd export utility for Nexuiz, now check-proj handles it.
Dale Weiler [Wed, 25 Sep 2013 08:03:37 +0000 (04:03 -0400)]
Add export utility for Nexuiz, now check-proj handles it.

11 years agoGot Xonotic stuff for check-proj to function.
Dale Weiler [Wed, 25 Sep 2013 07:52:48 +0000 (03:52 -0400)]
Got Xonotic stuff for check-proj to function.

11 years agoFix the xonotic export script for check-proj.sh
Dale Weiler [Tue, 24 Sep 2013 11:53:51 +0000 (07:53 -0400)]
Fix the xonotic export script for check-proj.sh

11 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 24 Sep 2013 11:32:23 +0000 (07:32 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

11 years agoFix QuakeWorld compilation by treating assignment to constants as a warning when...
Dale Weiler [Tue, 24 Sep 2013 11:31:53 +0000 (07:31 -0400)]
Fix QuakeWorld compilation by treating assignment to constants as a warning when -std=qcc.

11 years agoUpdate .travis.yml
Dale Weiler [Sun, 22 Sep 2013 12:43:47 +0000 (08:43 -0400)]
Update .travis.yml

11 years agothis is still there twice...
Wolfgang Bumiller [Thu, 19 Sep 2013 18:55:41 +0000 (20:55 +0200)]
this is still there twice...

11 years agomoving the QCVM_EXECUTOR ifdef in conout.c - these are used in the executor
Wolfgang Bumiller [Thu, 19 Sep 2013 18:55:32 +0000 (20:55 +0200)]
moving the QCVM_EXECUTOR ifdef in conout.c - these are used in the executor

11 years agoRemove debug printfs
Dale Weiler [Wed, 18 Sep 2013 23:18:10 +0000 (19:18 -0400)]
Remove debug printfs

11 years agoGenerate (non_const_float * (1.0 / constant_float)) for (non_const_float / constant_f...
Dale Weiler [Wed, 18 Sep 2013 23:15:24 +0000 (19:15 -0400)]
Generate (non_const_float * (1.0 / constant_float)) for (non_const_float / constant_float) expressions.

11 years agosince we don't bail on some of the warnings right away, (that is, with -Werror),...
Wolfgang Bumiller [Wed, 18 Sep 2013 14:20:07 +0000 (16:20 +0200)]
since we don't bail on some of the warnings right away, (that is, with -Werror), also check the compile_errors count in main rather than just the return values

11 years agomaking irwarning warn on an unused result
Wolfgang Bumiller [Wed, 18 Sep 2013 14:18:29 +0000 (16:18 +0200)]
making irwarning warn on an unused result

11 years agoDon't need that, each directory already has its own progs.src
Dale Weiler [Thu, 12 Sep 2013 21:18:47 +0000 (17:18 -0400)]
Don't need that, each directory already has its own progs.src

11 years agoOutput the dat name for xonotic export tool (first line of prog.src)
Dale Weiler [Thu, 12 Sep 2013 21:08:40 +0000 (17:08 -0400)]
Output the dat name for xonotic export tool (first line of prog.src)

11 years agoAdded -progsrc commandline switch to specify progs.src files of different names....
Dale Weiler [Thu, 12 Sep 2013 21:06:20 +0000 (17:06 -0400)]
Added -progsrc commandline switch to specify progs.src files of different names. Cleaned up xonotic export script, fixed check-doc on linux systems by disabling mandoc check.

11 years agoAdded xonotic_export.sh utility that when run from a xonotic-data.pk3dir will elimina...
Dale Weiler [Thu, 12 Sep 2013 19:06:36 +0000 (15:06 -0400)]
Added xonotic_export.sh utility that when run from a xonotic-data.pk3dir will eliminate redundant files and create prog.src files for csprogs, progs(server) and menu. This tool will be used for check-proj.sh for exporting xonotic changes to our server.

11 years agoSupport options for check-proj now
Dale Weiler [Wed, 11 Sep 2013 21:09:03 +0000 (17:09 -0400)]
Support options for check-proj now

11 years agoAllow running from root of gmqcc repo as well.
Dale Weiler [Wed, 11 Sep 2013 20:50:33 +0000 (16:50 -0400)]
Allow running from root of gmqcc repo as well.

11 years agoProper gmqcc sourcing for check-proj
Dale Weiler [Wed, 11 Sep 2013 20:48:01 +0000 (16:48 -0400)]
Proper gmqcc sourcing for check-proj

11 years agoTest for gmqcc in check-proj
Dale Weiler [Wed, 11 Sep 2013 20:38:18 +0000 (16:38 -0400)]
Test for gmqcc in check-proj

11 years agofix: declaring locals with the name of a parameter now treats the parameter as the...
Wolfgang Bumiller [Wed, 11 Sep 2013 09:25:44 +0000 (11:25 +0200)]
fix: declaring locals with the name of a parameter now treats the parameter as the local's prototype to avoid it being double-freed later

11 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 10 Sep 2013 23:16:14 +0000 (19:16 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

11 years agoAdded check-proj misc tool that downloads various QuakeC projects and tries to compil...
Dale Weiler [Tue, 10 Sep 2013 23:15:28 +0000 (19:15 -0400)]
Added check-proj misc tool that downloads various QuakeC projects and tries to compile them with gmqcc, sort of like an additional test.

11 years agodistro/archbsd/this - as we don't depend on glibc there, just libc; also changed...
Wolfgang Bumiller [Mon, 9 Sep 2013 10:18:30 +0000 (12:18 +0200)]
distro/archbsd/this - as we don't depend on glibc there, just libc; also changed DESTDIR in archlinux/this/Makefile so it can be easily changed from the bsd Makefile

11 years agodistro/archlinux/this: generate the .MTREE file
Wolfgang Bumiller [Mon, 9 Sep 2013 10:08:57 +0000 (12:08 +0200)]
distro/archlinux/this: generate the .MTREE file

11 years agoqcvm: exit on error
Wolfgang Bumiller [Sun, 8 Sep 2013 19:31:56 +0000 (21:31 +0200)]
qcvm: exit on error

11 years agoMerge branch 'master' into cooking
Dale Weiler [Sun, 8 Sep 2013 17:05:20 +0000 (13:05 -0400)]
Merge branch 'master' into cooking

11 years agoFix dependincies
Dale Weiler [Sun, 8 Sep 2013 17:04:07 +0000 (13:04 -0400)]
Fix dependincies

11 years agoAlways print the char the lexer fails on for a token.
Dale Weiler [Sat, 31 Aug 2013 20:52:46 +0000 (16:52 -0400)]
Always print the char the lexer fails on for a token.

11 years agoVector cross product virtual instruction, now >< operator works for non-constant...
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.

11 years agoImplemented >< (vector cross product operator). Currently support for constants only.
Dale Weiler [Sat, 31 Aug 2013 17:41:25 +0000 (13:41 -0400)]
Implemented >< (vector cross product operator). Currently support for constants only.

11 years agoPrevent divide by zero for / and % operations in constant folding (previously caused...
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

11 years agoThere is no bug since the testsuite uses -o for preprocessed output (thus the printf...
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.

11 years agoDon't allow a stale 'some_type;' declaration without an actual variable name; Same...
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

11 years agothis one can be reached - make it a little more helpful
Wolfgang Bumiller [Sat, 31 Aug 2013 08:55:03 +0000 (10:55 +0200)]
this one can be reached - make it a little more helpful

11 years agomore thorough check for whether an ast node starts a new label; closes #121
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

11 years agofactor check for assignment-to-constant into a function; improve its error output...
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

11 years agofix unhelpful error message; fixes #123
Wolfgang Bumiller [Sat, 31 Aug 2013 08:19:10 +0000 (10:19 +0200)]
fix unhelpful error message; fixes #123

11 years agoLogic elsewhere handles this (no need to duplicate)
Dale Weiler [Fri, 30 Aug 2013 11:23:15 +0000 (07:23 -0400)]
Logic elsewhere handles this (no need to duplicate)

11 years agointrinsic folding cleanups (and improvements.)
Dale Weiler [Fri, 30 Aug 2013 11:12:16 +0000 (07:12 -0400)]
intrinsic folding cleanups (and improvements.)

11 years agoRid of util_debug
Dale Weiler [Fri, 30 Aug 2013 10:49:24 +0000 (06:49 -0400)]
Rid of util_debug

11 years agoMake -fshort-logic -funtyped-nil -fvariadic-args default for -std=gmqcc
Dale Weiler [Thu, 29 Aug 2013 11:56:22 +0000 (07:56 -0400)]
Make -fshort-logic -funtyped-nil -fvariadic-args default for -std=gmqcc

11 years agoRemove &~= operator from gmqccs operator table, only fteqcc supports it.
Dale Weiler [Thu, 29 Aug 2013 11:19:19 +0000 (07:19 -0400)]
Remove &~= operator from gmqccs operator table, only fteqcc supports it.

11 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Thu, 29 Aug 2013 11:08:03 +0000 (07:08 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

11 years agoSome changes changes
Dale Weiler [Thu, 29 Aug 2013 11:07:43 +0000 (07:07 -0400)]
Some changes changes

11 years agothis should allow for better detection of precedence issues
Wolfgang Bumiller [Thu, 29 Aug 2013 08:22:48 +0000 (10:22 +0200)]
this should allow for better detection of precedence issues

11 years agoalso warn about mixing logical and/or operations without parenthesis
Wolfgang Bumiller [Thu, 29 Aug 2013 06:26:17 +0000 (08:26 +0200)]
also warn about mixing logical and/or operations without parenthesis

11 years agowarn when mixing different bitops without parenthesis around them
Wolfgang Bumiller [Thu, 29 Aug 2013 06:18:06 +0000 (08:18 +0200)]
warn when mixing different bitops without parenthesis around them

11 years agoFix folding logic for conditions.
Dale Weiler [Thu, 29 Aug 2013 04:18:48 +0000 (00:18 -0400)]
Fix folding logic for conditions.

11 years agoImplement [[eraseable]] attribute. When used with a function it instructs the AST...
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.

11 years agoFix build on clang
Dale Weiler [Wed, 28 Aug 2013 17:01:46 +0000 (13:01 -0400)]
Fix build on clang

11 years agoConstant fold intrinsics if their arguments are constant. TODO: reference count intri...
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.

11 years agoImplemented a __builtin_fabs intrinsic.
Dale Weiler [Wed, 28 Aug 2013 15:28:27 +0000 (11:28 -0400)]
Implemented a __builtin_fabs intrinsic.

11 years agoFix fold-dce for if(0)
Dale Weiler [Wed, 28 Aug 2013 14:39:48 +0000 (10:39 -0400)]
Fix fold-dce for if(0)

11 years agoAdd missing -width to .Bl in doc/gmqpak.1
Wolfgang Bumiller [Wed, 28 Aug 2013 12:40:23 +0000 (14:40 +0200)]
Add missing -width to .Bl in doc/gmqpak.1

11 years agoFix bad use of .D1 in doc/qcvm.1
Wolfgang Bumiller [Wed, 28 Aug 2013 12:38:51 +0000 (14:38 +0200)]
Fix bad use of .D1 in doc/qcvm.1

11 years agomisc/check-doc.sh: run mandoc -Tlint -Wall on the manpages
Wolfgang Bumiller [Wed, 28 Aug 2013 12:33:09 +0000 (14:33 +0200)]
misc/check-doc.sh: run mandoc -Tlint -Wall on the manpages

11 years agoallow initializing shadowed locals outside of -std=gmqcc - in this case it becomes...
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

11 years agoCleanups
Dale Weiler [Wed, 28 Aug 2013 07:45:40 +0000 (03:45 -0400)]
Cleanups

11 years agoHandle return status from compiler, this fixes false positivies in the testsuite...
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.

11 years agoDon't ignore empty newlines when match in the testsuite, instead only ignore when...
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).

11 years agoSome style fixes for tests
Dale Weiler [Tue, 27 Aug 2013 10:41:03 +0000 (06:41 -0400)]
Some style fixes for tests

11 years agoForgot this one
Dale Weiler [Tue, 27 Aug 2013 10:39:51 +0000 (06:39 -0400)]
Forgot this one

11 years agoA test for that xor stuff (the same one I used to cause the bug to manifest in the...
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).

11 years agoFix XOR maths for overlapping inputs by setting the lifetimes correctly.
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>
11 years agoast_binary->right_first and an execution order check
Wolfgang Bumiller [Tue, 27 Aug 2013 08:42:09 +0000 (10:42 +0200)]
ast_binary->right_first and an execution order check

11 years agoMerge divVerent/ftypeless-stores, but rid of the macro abuse.
Dale Weiler [Tue, 27 Aug 2013 08:28:22 +0000 (04:28 -0400)]
Merge divVerent/ftypeless-stores, but rid of the macro abuse.

11 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Tue, 27 Aug 2013 08:28:11 +0000 (04:28 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

11 years agoerror on uninitialized arrays of unspecified size; otherwise it errors about a size...
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

11 years agobail out when encountering an invalid array size in the ast as it's likely to cause...
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

11 years agoMerge branch 'divVerent/ftypeless-stores' of git://git.xonotic.org/xonotic/gmqcc...
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

11 years agofix testcase workarounds
Wolfgang Bumiller [Tue, 27 Aug 2013 08:00:24 +0000 (10:00 +0200)]
fix testcase workarounds

11 years agoAnd there she goes, them space swallowing whores.
Dale Weiler [Tue, 27 Aug 2013 07:57:09 +0000 (03:57 -0400)]
And there she goes, them space swallowing whores.

11 years agoNew options: -ftypeless-stores and -fsort-operands
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>
11 years agoAdd support for columns to LNOF files.
Dale Weiler [Mon, 26 Aug 2013 18:14:33 +0000 (14:14 -0400)]
Add support for columns to LNOF files.

11 years agoFix testsuite for when a process crashes (do not consider it a success)
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)

11 years agoFix testsuite
Dale Weiler [Mon, 26 Aug 2013 17:05:54 +0000 (13:05 -0400)]
Fix testsuite

11 years agoreset the column counter on a newline
Wolfgang Bumiller [Mon, 26 Aug 2013 16:53:09 +0000 (18:53 +0200)]
reset the column counter on a newline

11 years agoMerge branch 'divVerent/submit/vector-bitops' of git://git.xonotic.org/xonotic/gmqcc...
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

11 years agoSupport vector bitor/bitand/bitxor. divVerent/submit/vector-bitops
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>
11 years agoerror when trying to pass a TYPE_NOEXPR value to ir_instr_op
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