]> git.rm.cloudns.org Git - xonotic/gmqcc.git/log
xonotic/gmqcc.git
11 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

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

11 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

11 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.

11 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 >.<

11 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

11 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.

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

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

11 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.

11 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

11 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.

11 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

11 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.

11 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

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

11 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.

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

11 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.

11 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.

11 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.

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

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

11 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.

11 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.

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

11 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

11 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.

11 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.

11 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

11 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.

11 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

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

11 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.

11 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.

11 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.

11 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.

11 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

11 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.

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

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

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

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

11 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.

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

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

11 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

11 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

11 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;

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

11 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.

11 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)

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

11 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

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

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

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

11 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

11 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

11 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

11 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

11 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

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

11 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!

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

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

11 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.

11 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.

11 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!

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

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

11 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

11 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.

11 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.

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

11 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).

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

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

11 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

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

11 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).

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

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

11 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.

11 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.

11 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

11 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.)

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

11 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

11 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

11 years agoHandle double negation case specially. Update TODO
Dale Weiler [Mon, 30 Sep 2013 09:12:28 +0000 (05:12 -0400)]
Handle double negation case specially. Update TODO

11 years agoSimplify parse stage for unary - operator.
Dale Weiler [Mon, 30 Sep 2013 02:08:09 +0000 (22:08 -0400)]
Simplify parse stage for unary - operator.

11 years agoRemove pointless thinking comment, fix builds for clang.
Dale Weiler [Mon, 30 Sep 2013 02:06:26 +0000 (22:06 -0400)]
Remove pointless thinking comment, fix builds for clang.

11 years agoMake unary - operator act as an ast_unary node. This allows for consistency (no sense...
Dale Weiler [Mon, 30 Sep 2013 02:01:46 +0000 (22:01 -0400)]
Make unary - operator act as an ast_unary node. This allows for consistency (no sense in making unary use binstore nodes, it doesn't make much sense). It also allows for the peephole optimization on unary chains that cancel each other to take place; i.e code like "-(-a)" simplifies to "a", thus eliminating instructions.

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.