]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Wolfgang Bumiller [Thu, 22 Jun 2017 06:46:48 +0000 (08:46 +0200)]
ir: fix vector negation using the nil value
We cannot use OFS_NULL as it is only a single value and
overlaps with OFS_RETURN.
Wolfgang Bumiller [Tue, 14 Feb 2017 18:23:02 +0000 (19:23 +0100)]
sanitize util_hthash with a hack
To silence the address sanitizer.
Since this is gone in the master branch anyway this will
have to do.
Wolfgang Bumiller [Tue, 14 Feb 2017 18:17:45 +0000 (19:17 +0100)]
sanitize: use 1u (unsigned) for flag bit shifts
Fixes #175
Wolfgang Bumiller [Sat, 11 Feb 2017 11:27:53 +0000 (12:27 +0100)]
Disable -Werror for old-stable
Wolfgang Bumiller [Sat, 11 Feb 2017 10:58:20 +0000 (11:58 +0100)]
Add GMQCC_FALLTHROUGH
Fixes #174
Wolfgang Bumiller [Sat, 11 Feb 2017 10:57:48 +0000 (11:57 +0100)]
Add GMQCC_FUNCTION
Fixes #160
Wolfgang Bumiller [Sat, 11 Feb 2017 10:47:47 +0000 (11:47 +0100)]
clean: include *.d
Wolfgang Bumiller [Thu, 31 Oct 2013 21:13:42 +0000 (22:13 +0100)]
0.3.5 commit
Dale Weiler [Thu, 31 Oct 2013 12:22:54 +0000 (08:22 -0400)]
Merge branch 'cooking'
Wolfgang Bumiller [Mon, 28 Oct 2013 10:37:08 +0000 (11:37 +0100)]
Nothing in there requires unistd.h
Wolfgang Bumiller [Sun, 27 Oct 2013 19:11:41 +0000 (20:11 +0100)]
Revert "oh my god, make it stop >.<"
This reverts commit
a120209567913afa4b1ad4224988bc5ad1091b4f .
Wolfgang Bumiller [Sun, 27 Oct 2013 18:19:11 +0000 (19:19 +0100)]
oh my god, make it stop >.<
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
Dale Weiler [Thu, 24 Oct 2013 15:56:23 +0000 (11:56 -0400)]
Disable it on master too since Xonotic compiles are failing.
Wolfgang Bumiller [Wed, 23 Oct 2013 12:04:20 +0000 (14:04 +0200)]
build again
Wolfgang Bumiller [Wed, 23 Oct 2013 12:01:56 +0000 (14:01 +0200)]
This is not allowed
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.
Dale Weiler [Sat, 19 Oct 2013 06:53:46 +0000 (02:53 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
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.
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
Dale Weiler [Fri, 18 Oct 2013 09:37:26 +0000 (05:37 -0400)]
We're doing it this way.
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
Dale Weiler [Fri, 18 Oct 2013 00:35:56 +0000 (20:35 -0400)]
Fix
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.
Dale Weiler [Fri, 18 Oct 2013 00:25:02 +0000 (20:25 -0400)]
Does this fix it?
Dale Weiler [Thu, 17 Oct 2013 09:17:30 +0000 (05:17 -0400)]
Implement support for octal constants, this closes #97.
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.
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.
Dale Weiler [Thu, 17 Oct 2013 08:27:34 +0000 (04:27 -0400)]
Update deps
Dale Weiler [Thu, 17 Oct 2013 08:23:53 +0000 (04:23 -0400)]
Cleaner traces
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.
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.
Dale Weiler [Thu, 17 Oct 2013 07:44:33 +0000 (03:44 -0400)]
Update changes
Dale Weiler [Thu, 17 Oct 2013 07:43:05 +0000 (03:43 -0400)]
Add a test for function accumulation attribute
Dale Weiler [Thu, 17 Oct 2013 07:39:14 +0000 (03:39 -0400)]
Enforce void type on accumulatable functions.
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.
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
Dale Weiler [Thu, 17 Oct 2013 04:14:42 +0000 (00:14 -0400)]
Fix handling on intrinsic folding, this closes #118.
Dale Weiler [Thu, 17 Oct 2013 03:37:39 +0000 (23:37 -0400)]
Prevent aliasing functions through forward declared prototypes. This closes #125
Dale Weiler [Thu, 17 Oct 2013 01:47:12 +0000 (21:47 -0400)]
Another one
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.
Dale Weiler [Thu, 17 Oct 2013 00:14:49 +0000 (20:14 -0400)]
Fix option string allocated/non allocated storage.
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.
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.
Dale Weiler [Tue, 15 Oct 2013 02:40:36 +0000 (22:40 -0400)]
divVerent suggestion to use memcmp here
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.
Dale Weiler [Tue, 15 Oct 2013 01:03:24 +0000 (21:03 -0400)]
Clang is so anal
Dale Weiler [Tue, 15 Oct 2013 00:58:36 +0000 (20:58 -0400)]
Cleanups
Dale Weiler [Mon, 14 Oct 2013 06:17:45 +0000 (02:17 -0400)]
Cleanup for builds
Wolfgang Bumiller [Fri, 11 Oct 2013 13:53:53 +0000 (15:53 +0200)]
who let the cat out?
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.
Dale Weiler [Fri, 11 Oct 2013 13:32:46 +0000 (09:32 -0400)]
Some cleanups
Dale Weiler [Fri, 11 Oct 2013 12:14:37 +0000 (08:14 -0400)]
Update README
Wolfgang Bumiller [Fri, 11 Oct 2013 12:11:40 +0000 (14:11 +0200)]
Merge 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
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;
Dale Weiler [Fri, 11 Oct 2013 12:10:32 +0000 (08:10 -0400)]
Update dependencies
Dale Weiler [Fri, 11 Oct 2013 12:08:36 +0000 (08:08 -0400)]
I need to test this code on msvc now.
Dale Weiler [Fri, 11 Oct 2013 12:06:10 +0000 (08:06 -0400)]
Fix that (newer clang will fail on it)
Dale Weiler [Fri, 11 Oct 2013 12:04:02 +0000 (08:04 -0400)]
Merge branch 'cleanup' into cooking
Dale Weiler [Fri, 11 Oct 2013 12:02:28 +0000 (08:02 -0400)]
Last piece of documentation for platform.h
Dale Weiler [Fri, 11 Oct 2013 11:40:31 +0000 (07:40 -0400)]
More documentation for platform.h
Dale Weiler [Fri, 11 Oct 2013 11:16:48 +0000 (07:16 -0400)]
Some documentation
Dale Weiler [Fri, 11 Oct 2013 10:36:05 +0000 (06:36 -0400)]
Some more cleanup
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
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
Wolfgang Bumiller [Fri, 11 Oct 2013 09:14:46 +0000 (11:14 +0200)]
distro/archlinux/this/Makefile: tar -> bsdtar
Dale Weiler [Fri, 11 Oct 2013 09:09:55 +0000 (05:09 -0400)]
Add back the correct directory handling for msvc
Dale Weiler [Fri, 11 Oct 2013 08:58:49 +0000 (04:58 -0400)]
Make it compile with mingw32 again
Dale Weiler [Fri, 11 Oct 2013 08:55:26 +0000 (04:55 -0400)]
Add a porting guide
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!
Dale Weiler [Fri, 11 Oct 2013 07:59:25 +0000 (03:59 -0400)]
More cleanups
Dale Weiler [Fri, 11 Oct 2013 07:21:44 +0000 (03:21 -0400)]
More cleanup
Dale Weiler [Fri, 11 Oct 2013 07:02:38 +0000 (03:02 -0400)]
Some more platform / compiler specific code refactoring.
Dale Weiler [Fri, 11 Oct 2013 06:39:30 +0000 (02:39 -0400)]
Initial platform / compiler specific code refactoring.
Dale Weiler [Fri, 11 Oct 2013 04:22:27 +0000 (00:22 -0400)]
This can actually be much smaller, 204 bytes!
Dale Weiler [Fri, 11 Oct 2013 02:12:03 +0000 (22:12 -0400)]
More typos
Dale Weiler [Fri, 11 Oct 2013 02:11:03 +0000 (22:11 -0400)]
typo
Dale Weiler [Fri, 11 Oct 2013 02:10:36 +0000 (22:10 -0400)]
Document what the utf8 table actually is
Dale Weiler [Fri, 11 Oct 2013 02:03:13 +0000 (22:03 -0400)]
Wrong operand order it's 0xf4u-0xc2u i.e 0x32.
Dale Weiler [Fri, 11 Oct 2013 01:44:40 +0000 (21:44 -0400)]
Less flexible more economical utf8 decoder.
Dale Weiler [Sun, 6 Oct 2013 03:39:05 +0000 (23:39 -0400)]
Don't echo it
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).
Dale Weiler [Sun, 6 Oct 2013 02:34:55 +0000 (22:34 -0400)]
Update CHANGES files
Dale Weiler [Fri, 4 Oct 2013 11:10:58 +0000 (07:10 -0400)]
Fix fold_superfluous
Dale Weiler [Fri, 4 Oct 2013 11:02:06 +0000 (07:02 -0400)]
Only when peephole optimization is on
Dale Weiler [Fri, 4 Oct 2013 10:53:09 +0000 (06:53 -0400)]
Handle proper expression type assignment
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).
Dale Weiler [Wed, 2 Oct 2013 17:00:34 +0000 (13:00 -0400)]
Refactor intrinsic stuff
Dale Weiler [Mon, 30 Sep 2013 20:03:22 +0000 (16:03 -0400)]
Update documentation
Dale Weiler [Mon, 30 Sep 2013 19:59:36 +0000 (15:59 -0400)]
Add seperate warning flag for directive in macro.
Dale Weiler [Mon, 30 Sep 2013 19:57:01 +0000 (15:57 -0400)]
Warn when preprocessor directive is found inside a macro body.
Dale Weiler [Mon, 30 Sep 2013 18:33:57 +0000 (14:33 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
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.)
Wolfgang Bumiller [Mon, 30 Sep 2013 13:02:03 +0000 (15:02 +0200)]
Merge branch 'master' into cooking
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
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
Dale Weiler [Mon, 30 Sep 2013 09:12:28 +0000 (05:12 -0400)]
Handle double negation case specially. Update TODO
Dale Weiler [Mon, 30 Sep 2013 02:08:09 +0000 (22:08 -0400)]
Simplify parse stage for unary - operator.
Dale Weiler [Mon, 30 Sep 2013 02:06:26 +0000 (22:06 -0400)]
Remove pointless thinking comment, fix builds for clang.