xonotic/gmqcc.git
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.

6 years agoDon't echo it
Dale Weiler [Sun, 6 Oct 2013 03:39:05 +0000 (23:39 -0400)]
Don't echo it

6 years agoFix some things: get all the Quake mods to compile again (I broke binary expressions...
Dale Weiler [Sun, 6 Oct 2013 03:36:48 +0000 (23:36 -0400)]
Fix some things: get all the Quake mods to compile again (I broke binary expressions .. oops) Fix the check-proj script, using $? for status was invalid because of pipes. The ir now properly considers negation virtual instruction to be operations (as it should).

6 years agoUpdate CHANGES files
Dale Weiler [Sun, 6 Oct 2013 02:34:55 +0000 (22:34 -0400)]
Update CHANGES files

6 years agoFix fold_superfluous
Dale Weiler [Fri, 4 Oct 2013 11:10:58 +0000 (07:10 -0400)]
Fix fold_superfluous

6 years agoOnly when peephole optimization is on
Dale Weiler [Fri, 4 Oct 2013 11:02:06 +0000 (07:02 -0400)]
Only when peephole optimization is on

6 years agoHandle proper expression type assignment
Dale Weiler [Fri, 4 Oct 2013 10:53:09 +0000 (06:53 -0400)]
Handle proper expression type assignment

6 years agoAnother peephole optimization which removes superfluous expressions such as (A +...
Dale Weiler [Fri, 4 Oct 2013 10:46:54 +0000 (06:46 -0400)]
Another peephole optimization which removes superfluous expressions such as (A + 0), (A - 0), (A * 1) and (A / 1).

6 years agoRefactor intrinsic stuff
Dale Weiler [Wed, 2 Oct 2013 17:00:34 +0000 (13:00 -0400)]
Refactor intrinsic stuff

6 years agoUpdate documentation
Dale Weiler [Mon, 30 Sep 2013 20:03:22 +0000 (16:03 -0400)]
Update documentation

6 years agoAdd seperate warning flag for directive in macro.
Dale Weiler [Mon, 30 Sep 2013 19:59:36 +0000 (15:59 -0400)]
Add seperate warning flag for directive in macro.

6 years agoWarn when preprocessor directive is found inside a macro body.
Dale Weiler [Mon, 30 Sep 2013 19:57:01 +0000 (15:57 -0400)]
Warn when preprocessor directive is found inside a macro body.

6 years agoMerge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Mon, 30 Sep 2013 18:33:57 +0000 (14:33 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking

6 years agoFix negation type for VINSTR_NEG_V. Source operand for optimization instead of the...
Dale Weiler [Mon, 30 Sep 2013 18:32:21 +0000 (14:32 -0400)]
Fix negation type for VINSTR_NEG_V. Source operand for optimization instead of the expression (to handle double negation elision properly.)

6 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Mon, 30 Sep 2013 13:02:03 +0000 (15:02 +0200)]
Merge branch 'master' into cooking

6 years agoMerge pull request #134 from Sicness/hyphen
Wolfgang Bumiller [Mon, 30 Sep 2013 13:01:22 +0000 (06:01 -0700)]
Merge pull request #134 from Sicness/hyphen

Fixed hyphen-used-as-minus-sign in gmqcc.1

6 years agoFixed hyphen-used-as-minus-sign in gmqcc.1
Anton Balashov [Mon, 30 Sep 2013 12:43:57 +0000 (16:43 +0400)]
Fixed hyphen-used-as-minus-sign in gmqcc.1

Accortding to lintian report:
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:156
N:
N:    This manual page seems to contain a hyphen where a minus sign was
N:    intended. By default, "-" chars are interpreted as hyphens (U+2010) by
N:    groff, not as minus signs (U+002D). Since options to programs use minus
N:    signs (U+002D), this means for example in UTF-8 locales that you cannot
N:    cut and paste options, nor search for them easily. The Debian groff
N:    package currently forces "-" to be interpreted as a minus sign due to
N:    the number of manual pages with this problem, but this is a
N:    Debian-specific modification and hopefully eventually can be removed.
N:
N:    "-" must be escaped ("\-") to be interpreted as minus. If you really
N:    intend a hyphen (normally you don't), write it as "\(hy" to emphasise
N:    that fact. See groff(7) and especially groff_char(7) for details, and
N:    also the thread starting with
N:    http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg01481.html
N:
N:    If you use some tool that converts your documentation to groff format,
N:    this tag may indicate a bug in the tool. Some tools convert dashes of
N:    any kind to hyphens. The safe way of converting dashes is to convert
N:    them to "\-".
N:
N:    Because this error can occur very often, Lintian shows only the first 10
N:    occurrences for each man page and give the number of suppressed
N:    occurrences. If you want to see all warnings, run Lintian with the
N:    -d/--debug option.
N:
N:    Refer to /usr/share/doc/groff-base/README.Debian and the groff_char(7)
N:    manual page for details.
N:
N:    Severity: wishlist, Certainty: possible
N:
N:    Check: manpages, Type: binary
N:
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:354
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:676