xonotic/gmqcc.git
6 years agoSimplify
Dale Weiler [Sat, 23 Nov 2013 12:27:09 +0000 (07:27 -0500)]
Simplify

6 years agoUse '#' in nullfun identifier to prevent it from being used in code
Dale Weiler [Sat, 23 Nov 2013 12:25:24 +0000 (07:25 -0500)]
Use '#' in nullfun identifier to prevent it from being used in code

6 years agoFix intrinsics for self-inclusion of other intrinsics.
Dale Weiler [Sat, 23 Nov 2013 12:21:12 +0000 (07:21 -0500)]
Fix intrinsics for self-inclusion of other intrinsics.

6 years agoCleaner handling since intrin_func deals with alias
Dale Weiler [Sat, 23 Nov 2013 12:02:45 +0000 (07:02 -0500)]
Cleaner handling since intrin_func deals with alias

6 years agoResolve undefined functions to compiler builtins if they exist.
Dale Weiler [Sat, 23 Nov 2013 11:57:40 +0000 (06:57 -0500)]
Resolve undefined functions to compiler builtins if they exist.

6 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sat, 23 Nov 2013 11:41:24 +0000 (06:41 -0500)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

6 years agoFixed pow/exp using fast approximation until the fractional part is hit. Once fractio...
Dale Weiler [Sat, 23 Nov 2013 11:40:27 +0000 (06:40 -0500)]
Fixed pow/exp using fast approximation until the fractional part is hit. Once fractional is reached a binary search is used to get close to the value.

6 years agocrc16 slice-by-8 table generator code included for reference
Wolfgang Bumiller [Sat, 23 Nov 2013 10:58:20 +0000 (11:58 +0100)]
crc16 slice-by-8 table generator code included for reference

6 years agoslice-by-8 crc16
Wolfgang Bumiller [Sat, 23 Nov 2013 10:50:30 +0000 (11:50 +0100)]
slice-by-8 crc16

6 years agoindent
Dale Weiler [Sat, 23 Nov 2013 08:54:11 +0000 (03:54 -0500)]
indent

6 years agoA better mod implementation
Dale Weiler [Sat, 23 Nov 2013 08:53:07 +0000 (03:53 -0500)]
A better mod implementation

6 years agoAdd reference tool
Dale Weiler [Sat, 23 Nov 2013 08:10:09 +0000 (03:10 -0500)]
Add reference tool

6 years agoFaster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis...
Dale Weiler [Sat, 23 Nov 2013 06:00:32 +0000 (01:00 -0500)]
Faster CRC16 algorithm based on the Slicing-by-8 algorithm, by Michael E. Kounavis and Frank L. Berry from Intel Corp.

6 years agonow it parses and has the desired precedence
Wolfgang Bumiller [Sat, 16 Nov 2013 13:34:24 +0000 (14:34 +0100)]
now it parses and has the desired precedence

6 years ago** precedence was wrong
Wolfgang Bumiller [Sat, 16 Nov 2013 13:26:46 +0000 (14:26 +0100)]
** precedence was wrong

6 years agofolder: change ~ for floats too
Wolfgang Bumiller [Thu, 14 Nov 2013 10:41:11 +0000 (11:41 +0100)]
folder: change ~ for floats too

6 years agoFix unary minus on vector
Dale Weiler [Wed, 13 Nov 2013 13:57:14 +0000 (08:57 -0500)]
Fix unary minus on vector

6 years agoUse a branch instead of math on enum types
Dale Weiler [Wed, 13 Nov 2013 09:57:18 +0000 (04:57 -0500)]
Use a branch instead of math on enum types

6 years agobit more concise
Wolfgang Bumiller [Tue, 12 Nov 2013 15:28:11 +0000 (16:28 +0100)]
bit more concise

6 years agoworking fold_op_cmp implementation
Wolfgang Bumiller [Tue, 12 Nov 2013 15:15:02 +0000 (16:15 +0100)]
working fold_op_cmp implementation

6 years agovec3_not: be consistent with compile-time behavior here
Wolfgang Bumiller [Tue, 12 Nov 2013 15:05:54 +0000 (16:05 +0100)]
vec3_not: be consistent with compile-time behavior here

6 years agovec3_pbool: or, not and
Wolfgang Bumiller [Tue, 12 Nov 2013 14:56:04 +0000 (15:56 +0100)]
vec3_pbool: or, not and

6 years agofolder: fix -fperl-logic
Wolfgang Bumiller [Tue, 12 Nov 2013 13:39:25 +0000 (14:39 +0100)]
folder: fix -fperl-logic

6 years agosubtracting != adding
Wolfgang Bumiller [Tue, 12 Nov 2013 13:31:11 +0000 (14:31 +0100)]
subtracting != adding

6 years agofix 0-x being turned into x
Wolfgang Bumiller [Wed, 6 Nov 2013 15:57:04 +0000 (16:57 +0100)]
fix 0-x being turned into x

6 years agoregular procedure... bumping PKGBUILDs, GMQCC_VERSION macros, adding back GMQCC_VERSI...
Wolfgang Bumiller [Thu, 31 Oct 2013 21:17:53 +0000 (22:17 +0100)]
regular procedure... bumping PKGBUILDs, GMQCC_VERSION macros, adding back GMQCC_VERSION_TYPE_DEVEL

6 years ago0.3.5 commit 0.3.5
Wolfgang Bumiller [Thu, 31 Oct 2013 21:13:42 +0000 (22:13 +0100)]
0.3.5 commit

6 years agoMerge branch 'cooking'
Dale Weiler [Thu, 31 Oct 2013 12:22:54 +0000 (08:22 -0400)]
Merge branch 'cooking'

6 years agoNothing in there requires unistd.h
Wolfgang Bumiller [Mon, 28 Oct 2013 10:37:08 +0000 (11:37 +0100)]
Nothing in there requires unistd.h

6 years agoRevert "oh my god, make it stop >.<"
Wolfgang Bumiller [Sun, 27 Oct 2013 19:11:41 +0000 (20:11 +0100)]
Revert "oh my god, make it stop >.<"

This reverts commit a120209567913afa4b1ad4224988bc5ad1091b4f.

6 years agooh my god, make it stop >.<
Wolfgang Bumiller [Sun, 27 Oct 2013 18:19:11 +0000 (19:19 +0100)]
oh my god, make it stop >.<

6 years agofold_binary now used instead of ast_binary_new, which calls fold_superfluous
Wolfgang Bumiller [Fri, 25 Oct 2013 11:40:31 +0000 (13:40 +0200)]
fold_binary now used instead of ast_binary_new, which calls fold_superfluous

6 years agoDisable it on master too since Xonotic compiles are failing.
Dale Weiler [Thu, 24 Oct 2013 15:56:23 +0000 (11:56 -0400)]
Disable it on master too since Xonotic compiles are failing.

6 years agobuild again
Wolfgang Bumiller [Wed, 23 Oct 2013 12:04:20 +0000 (14:04 +0200)]
build again

6 years agoThis is not allowed
Wolfgang Bumiller [Wed, 23 Oct 2013 12:01:56 +0000 (14:01 +0200)]
This is not allowed

6 years agoSome correctly-sized type flags for the AST and IR, this culls back memory usage...
Dale Weiler [Sun, 20 Oct 2013 03:39:37 +0000 (23:39 -0400)]
Some correctly-sized type flags for the AST and IR, this culls back memory usage a little.

6 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sat, 19 Oct 2013 06:53:46 +0000 (02:53 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

6 years agoMake preprocessor predefs use their own context opposed to the lexer context.
Dale Weiler [Sat, 19 Oct 2013 06:52:47 +0000 (02:52 -0400)]
Make preprocessor predefs use their own context opposed to the lexer context.

6 years agotype and argument parsing improved to handle the field/vararg ambiguity; tests added
Wolfgang Bumiller [Fri, 18 Oct 2013 14:28:28 +0000 (16:28 +0200)]
type and argument parsing improved to handle the field/vararg ambiguity; tests added

6 years agoWe're doing it this way.
Dale Weiler [Fri, 18 Oct 2013 09:37:26 +0000 (05:37 -0400)]
We're doing it this way.

6 years agoreplacing the current [[accumulate]] implementation: shorter and simpler, and also...
Wolfgang Bumiller [Fri, 18 Oct 2013 09:26:41 +0000 (11:26 +0200)]
replacing the current [[accumulate]] implementation: shorter and simpler, and also supports non-void return types

6 years agoFix
Dale Weiler [Fri, 18 Oct 2013 00:35:56 +0000 (20:35 -0400)]
Fix

6 years agoUndo fix and actually use a macro in the accumulation test .. just incase.
Dale Weiler [Fri, 18 Oct 2013 00:34:16 +0000 (20:34 -0400)]
Undo fix and actually use a macro in the accumulation test .. just incase.

6 years agoDoes this fix it?
Dale Weiler [Fri, 18 Oct 2013 00:25:02 +0000 (20:25 -0400)]
Does this fix it?

6 years agoImplement support for octal constants, this closes #97.
Dale Weiler [Thu, 17 Oct 2013 09:17:30 +0000 (05:17 -0400)]
Implement support for octal constants, this closes #97.

6 years agoFix 'declaration does not declare anything' regression i.e this closes #132.
Dale Weiler [Thu, 17 Oct 2013 09:06:09 +0000 (05:06 -0400)]
Fix 'declaration does not declare anything' regression i.e this closes #132.

6 years agoIgnore generating a return instruction in accumulated functions, eventually we'll...
Dale Weiler [Thu, 17 Oct 2013 08:45:24 +0000 (04:45 -0400)]
Ignore generating a return instruction in accumulated functions, eventually we'll have a way to merge these into one function but for now the RETURN is a waste.

6 years agoUpdate deps
Dale Weiler [Thu, 17 Oct 2013 08:27:34 +0000 (04:27 -0400)]
Update deps

6 years agoCleaner traces
Dale Weiler [Thu, 17 Oct 2013 08:23:53 +0000 (04:23 -0400)]
Cleaner traces

6 years agoFix memory dump console printing alignment and also trace expressions for allocations.
Dale Weiler [Thu, 17 Oct 2013 08:21:25 +0000 (04:21 -0400)]
Fix memory dump console printing alignment and also trace expressions for allocations.

6 years agoUse "##" to ensure the names of the accumulated functions are striped by the IR.
Dale Weiler [Thu, 17 Oct 2013 07:47:26 +0000 (03:47 -0400)]
Use "##" to ensure the names of the accumulated functions are striped by the IR.

6 years agoUpdate changes
Dale Weiler [Thu, 17 Oct 2013 07:44:33 +0000 (03:44 -0400)]
Update changes

6 years agoAdd a test for function accumulation attribute
Dale Weiler [Thu, 17 Oct 2013 07:43:05 +0000 (03:43 -0400)]
Add a test for function accumulation attribute

6 years agoEnforce void type on accumulatable functions.
Dale Weiler [Thu, 17 Oct 2013 07:39:14 +0000 (03:39 -0400)]
Enforce void type on accumulatable functions.

6 years agoImplemented [[accumulate]] attribute. This will hopefully be used by Xonotic to repla...
Dale Weiler [Thu, 17 Oct 2013 07:21:30 +0000 (03:21 -0400)]
Implemented [[accumulate]] attribute. This will hopefully be used by Xonotic to replace it's ACCUMULATE_FUNCTION stuff.

6 years agoUse .dat extension on generated binaries in testsuite to prevent them from being...
Dale Weiler [Thu, 17 Oct 2013 04:18:07 +0000 (00:18 -0400)]
Use .dat extension on generated binaries in testsuite to prevent them from being sourced as task template files. This will fix the async builds on travis.ci

6 years agoFix handling on intrinsic folding, this closes #118.
Dale Weiler [Thu, 17 Oct 2013 04:14:42 +0000 (00:14 -0400)]
Fix handling on intrinsic folding, this closes #118.

6 years agoPrevent aliasing functions through forward declared prototypes. This closes #125
Dale Weiler [Thu, 17 Oct 2013 03:37:39 +0000 (23:37 -0400)]
Prevent aliasing functions through forward declared prototypes. This closes #125

6 years agoAnother one
Dale Weiler [Thu, 17 Oct 2013 01:47:12 +0000 (21:47 -0400)]
Another one

6 years agofloat and double shouldn't be used here, this is what qcfloat_t is for. This fixes...
Dale Weiler [Thu, 17 Oct 2013 01:32:31 +0000 (21:32 -0400)]
float and double shouldn't be used here, this is what qcfloat_t is for. This fixes the memcmp bug in the folder.

6 years agoFix option string allocated/non allocated storage.
Dale Weiler [Thu, 17 Oct 2013 00:14:49 +0000 (20:14 -0400)]
Fix option string allocated/non allocated storage.

6 years agoMake it valid C++ code, such that it can compile as C++ code.
Dale Weiler [Wed, 16 Oct 2013 23:54:21 +0000 (19:54 -0400)]
Make it valid C++ code, such that it can compile as C++ code.

6 years agoSome intrinsic code cleanup. The args check is handled anyways in the parser. We...
Dale Weiler [Wed, 16 Oct 2013 04:04:39 +0000 (00:04 -0400)]
Some intrinsic code cleanup. The args check is handled anyways in the parser. We use a generated array alongside to prevent generating the intrinsic multiple times instead of using static storage. Other various cleanups as well.

6 years agodivVerent suggestion to use memcmp here
Dale Weiler [Tue, 15 Oct 2013 02:40:36 +0000 (22:40 -0400)]
divVerent suggestion to use memcmp here

6 years agoMake divVerent happy about handling divison by zero/inf/nan and negitive versions...
Dale Weiler [Tue, 15 Oct 2013 02:31:37 +0000 (22:31 -0400)]
Make divVerent happy about handling divison by zero/inf/nan and negitive versions. This code now assumes IEEE 754.

6 years agoClang is so anal
Dale Weiler [Tue, 15 Oct 2013 01:03:24 +0000 (21:03 -0400)]
Clang is so anal

6 years agoCleanups
Dale Weiler [Tue, 15 Oct 2013 00:58:36 +0000 (20:58 -0400)]
Cleanups

6 years agoCleanup for builds
Dale Weiler [Mon, 14 Oct 2013 06:17:45 +0000 (02:17 -0400)]
Cleanup for builds

6 years agowho let the cat out?
Wolfgang Bumiller [Fri, 11 Oct 2013 13:53:53 +0000 (15:53 +0200)]
who let the cat out?

6 years agoFix windows builds, add strip target for makefiles, update distro build makefiles...
Dale Weiler [Fri, 11 Oct 2013 13:51:08 +0000 (09:51 -0400)]
Fix windows builds, add strip target for makefiles, update distro build makefiles to use it for release builds.

6 years agoSome cleanups
Dale Weiler [Fri, 11 Oct 2013 13:32:46 +0000 (09:32 -0400)]
Some cleanups

6 years agoUpdate README
Dale Weiler [Fri, 11 Oct 2013 12:14:37 +0000 (08:14 -0400)]
Update README

6 years agoMerge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Fri, 11 Oct 2013 12:11:40 +0000 (14:11 +0200)]
Merge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking

6 years agoMerge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking
Wolfgang Bumiller [Fri, 11 Oct 2013 12:10:57 +0000 (14:10 +0200)]
Merge branch 'cooking' of git://github.com/graphitemaster/gmqcc into cooking

6 years agofirst part of parsing TOKEN_DOTS as part of a type when needed; allows declarations...
Wolfgang Bumiller [Fri, 11 Oct 2013 12:10:47 +0000 (14:10 +0200)]
first part of parsing TOKEN_DOTS as part of a type when needed; allows declarations like: ...float x;

6 years agoUpdate dependencies
Dale Weiler [Fri, 11 Oct 2013 12:10:32 +0000 (08:10 -0400)]
Update dependencies

6 years agoI need to test this code on msvc now.
Dale Weiler [Fri, 11 Oct 2013 12:08:36 +0000 (08:08 -0400)]
I need to test this code on msvc now.

6 years agoFix that (newer clang will fail on it)
Dale Weiler [Fri, 11 Oct 2013 12:06:10 +0000 (08:06 -0400)]
Fix that (newer clang will fail on it)

6 years agoMerge branch 'cleanup' into cooking
Dale Weiler [Fri, 11 Oct 2013 12:04:02 +0000 (08:04 -0400)]
Merge branch 'cleanup' into cooking

6 years agoLast piece of documentation for platform.h
Dale Weiler [Fri, 11 Oct 2013 12:02:28 +0000 (08:02 -0400)]
Last piece of documentation for platform.h

6 years agoMore documentation for platform.h
Dale Weiler [Fri, 11 Oct 2013 11:40:31 +0000 (07:40 -0400)]
More documentation for platform.h

6 years agoSome documentation
Dale Weiler [Fri, 11 Oct 2013 11:16:48 +0000 (07:16 -0400)]
Some documentation

6 years agoSome more cleanup
Dale Weiler [Fri, 11 Oct 2013 10:36:05 +0000 (06:36 -0400)]
Some more cleanup

6 years agoRefactor some util/platform usage and extend file system file interface to accept...
Dale Weiler [Fri, 11 Oct 2013 10:12:56 +0000 (06:12 -0400)]
Refactor some util/platform usage and extend file system file interface to accept its own flags and EOF

6 years agodistro/archlinux/this/Makefile: TARCOMP variable contains the compression flag, rathe...
Wolfgang Bumiller [Fri, 11 Oct 2013 09:17:03 +0000 (11:17 +0200)]
distro/archlinux/this/Makefile: TARCOMP variable contains the compression flag, rather than using -J in the makerule but provide the .xz extension in a variable

6 years agodistro/archlinux/this/Makefile: tar -> bsdtar
Wolfgang Bumiller [Fri, 11 Oct 2013 09:14:46 +0000 (11:14 +0200)]
distro/archlinux/this/Makefile: tar -> bsdtar

6 years agoAdd back the correct directory handling for msvc
Dale Weiler [Fri, 11 Oct 2013 09:09:55 +0000 (05:09 -0400)]
Add back the correct directory handling for msvc

6 years agoMake it compile with mingw32 again
Dale Weiler [Fri, 11 Oct 2013 08:58:49 +0000 (04:58 -0400)]
Make it compile with mingw32 again

6 years agoAdd a porting guide
Dale Weiler [Fri, 11 Oct 2013 08:55:26 +0000 (04:55 -0400)]
Add a porting guide

6 years agoMore cleanups, gmqcc.h doesn't need to include stdio.h now!
Dale Weiler [Fri, 11 Oct 2013 08:06:52 +0000 (04:06 -0400)]
More cleanups, gmqcc.h doesn't need to include stdio.h now!

6 years agoMore cleanups
Dale Weiler [Fri, 11 Oct 2013 07:59:25 +0000 (03:59 -0400)]
More cleanups

6 years agoMore cleanup
Dale Weiler [Fri, 11 Oct 2013 07:21:44 +0000 (03:21 -0400)]
More cleanup

6 years agoSome more platform / compiler specific code refactoring.
Dale Weiler [Fri, 11 Oct 2013 07:02:38 +0000 (03:02 -0400)]
Some more platform / compiler specific code refactoring.

6 years agoInitial platform / compiler specific code refactoring.
Dale Weiler [Fri, 11 Oct 2013 06:39:30 +0000 (02:39 -0400)]
Initial platform / compiler specific code refactoring.

6 years agoThis can actually be much smaller, 204 bytes!
Dale Weiler [Fri, 11 Oct 2013 04:22:27 +0000 (00:22 -0400)]
This can actually be much smaller, 204 bytes!

6 years agoMore typos
Dale Weiler [Fri, 11 Oct 2013 02:12:03 +0000 (22:12 -0400)]
More typos

6 years agotypo
Dale Weiler [Fri, 11 Oct 2013 02:11:03 +0000 (22:11 -0400)]
typo

6 years agoDocument what the utf8 table actually is
Dale Weiler [Fri, 11 Oct 2013 02:10:36 +0000 (22:10 -0400)]
Document what the utf8 table actually is

6 years agoWrong operand order it's 0xf4u-0xc2u i.e 0x32.
Dale Weiler [Fri, 11 Oct 2013 02:03:13 +0000 (22:03 -0400)]
Wrong operand order it's 0xf4u-0xc2u i.e 0x32.

6 years agoLess flexible more economical utf8 decoder.
Dale Weiler [Fri, 11 Oct 2013 01:44:40 +0000 (21:44 -0400)]
Less flexible more economical utf8 decoder.