Dale Weiler [Thu, 31 Jul 2014 04:43:42 +0000 (00:43 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Thu, 31 Jul 2014 04:43:08 +0000 (00:43 -0400)]
Parameter omitting in fteqcc is disallowed.
Wolfgang Bumiller [Sun, 15 Jun 2014 09:05:16 +0000 (11:05 +0200)]
fixing wrong paths in the uninstall target
Dale Weiler [Thu, 29 May 2014 01:51:29 +0000 (21:51 -0400)]
Handle encoding errors for platform_vasprintf
Dale Weiler [Tue, 27 May 2014 01:36:13 +0000 (21:36 -0400)]
Make it compile as C++ code.
Dale Weiler [Sun, 25 May 2014 07:01:47 +0000 (03:01 -0400)]
Merge branch 'arithmetic_exceptions' into cooking
Conflicts:
doc/gmqcc.1
gmqcc.ini.example
opts.def
parser.c
Dale Weiler [Sun, 25 May 2014 06:56:40 +0000 (02:56 -0400)]
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking
Dale Weiler [Sun, 25 May 2014 06:27:02 +0000 (02:27 -0400)]
Some fixes
Dale Weiler [Sun, 25 May 2014 06:04:10 +0000 (02:04 -0400)]
Fix vec3_cross. Added optimization to Makefile since we've been compiling gmqcc without it since forever.
Dale Weiler [Sun, 25 May 2014 06:00:41 +0000 (02:00 -0400)]
More work on vector arithmetic exceptions.
Dale Weiler [Sun, 25 May 2014 03:21:20 +0000 (23:21 -0400)]
More work for arithmetic exception on vectors.
Dale Weiler [Sun, 25 May 2014 02:40:14 +0000 (22:40 -0400)]
soft float state defaults.
Dale Weiler [Sun, 25 May 2014 02:13:47 +0000 (22:13 -0400)]
Only when arithmetic exceptions are enabled.
Dale Weiler [Sun, 25 May 2014 02:12:05 +0000 (22:12 -0400)]
Perliminary work in arithmetic exception handling for vector operations in constant evaluator / folder.
Dale Weiler [Sun, 25 May 2014 00:36:09 +0000 (20:36 -0400)]
Put this back in global scope, we have a local scope test
Dale Weiler [Sun, 25 May 2014 00:33:57 +0000 (20:33 -0400)]
Some CLZ for other toolchains.
Wolfgang Bumiller [Sat, 24 May 2014 17:13:49 +0000 (19:13 +0200)]
local compile-time const values are now created as globals, thus they're now subject to constant-folding
Wolfgang Bumiller [Sat, 24 May 2014 15:51:26 +0000 (17:51 +0200)]
propagate the 'inexact' flag on when initializing a constant
Dale Weiler [Sat, 24 May 2014 15:50:16 +0000 (11:50 -0400)]
Mage inexact travel across constants.
Dale Weiler [Sat, 24 May 2014 15:42:10 +0000 (11:42 -0400)]
Some things. Fix testsuite as well. One test will fail (inexact).
Wolfgang Bumiller [Sat, 24 May 2014 15:15:25 +0000 (17:15 +0200)]
this should be NULL
Wolfgang Bumiller [Sat, 24 May 2014 15:13:05 +0000 (17:13 +0200)]
Merge branch 'master' into cooking
Dale Weiler [Sat, 24 May 2014 14:38:02 +0000 (10:38 -0400)]
Arithmetic exception flag and a plethora of tests.
Dale Weiler [Sat, 24 May 2014 14:04:14 +0000 (10:04 -0400)]
Don't forget the BSDmakefile too.
Dale Weiler [Sat, 24 May 2014 14:02:58 +0000 (10:02 -0400)]
Disable stupid clang warning.
Dale Weiler [Sat, 24 May 2014 13:59:43 +0000 (09:59 -0400)]
Use flags instead.
Dale Weiler [Sat, 24 May 2014 13:53:38 +0000 (09:53 -0400)]
Perliminary work on arithmetic exception handling in the constant evaluator. We can safely check for arithmetic underflow, overflow, divison by zero and inexactness now. Inexactness of expressions are propagated through the AST such that using an inexact value in a comparison will trigger a warning with -Winexact-compares.
Dale Weiler [Wed, 14 May 2014 03:22:25 +0000 (23:22 -0400)]
Merge branch 'master' into cooking
Dale Weiler [Fri, 9 May 2014 06:39:25 +0000 (02:39 -0400)]
On platforms that the byte order check fails on the runtime test is concluded instead. It still needs these swap functions at compile time since the runtime test has to run. This fixes a FTBFS on BE selected ARMs.
Wolfgang Bumiller [Tue, 8 Apr 2014 12:35:11 +0000 (14:35 +0200)]
add tests for INSTR_STATE and -femulate-state
Wolfgang Bumiller [Tue, 8 Apr 2014 12:34:55 +0000 (14:34 +0200)]
use INSTR_STATE by default, add -femulate-state to switch to emulation, and -state-fps=NUM to set its emulation FPS
Wolfgang Bumiller [Tue, 8 Apr 2014 12:34:26 +0000 (14:34 +0200)]
implement INSTR_STATE in the qcvm
Dale Weiler [Tue, 8 Apr 2014 09:06:16 +0000 (05:06 -0400)]
Fix style
Dale Weiler [Tue, 8 Apr 2014 08:02:23 +0000 (04:02 -0400)]
Only increment the buffer location for macro output whitespace stripping if the situation is actually stripable, otherwise macros like #define foo(X) bar(#X), with foo(test) will expand to bartest) instead of bar(test). This should fix Xonotic builds.
Dale Weiler [Tue, 8 Apr 2014 07:26:08 +0000 (03:26 -0400)]
Added memory protection to prevent mismatching of mem_d or vec_free on pointers which are otherwise unknown to be allocated memory or allocated vectors. Also fixed the preprocessor to only strip on ' ' and '\t' around macros.
Wolfgang Bumiller [Mon, 7 Apr 2014 12:28:11 +0000 (14:28 +0200)]
fix a silly macro issue
Wolfgang Bumiller [Mon, 7 Apr 2014 12:23:35 +0000 (14:23 +0200)]
Merge remote-tracking branch 'origin/master' into cooking
Dale Weiler [Mon, 7 Apr 2014 10:00:04 +0000 (06:00 -0400)]
Match C's preprocessor semantics for token pasting with '##'.
Dale Weiler [Sat, 5 Apr 2014 09:16:36 +0000 (05:16 -0400)]
Eliminate debug log
Dale Weiler [Sat, 5 Apr 2014 09:16:15 +0000 (05:16 -0400)]
Rework distro package build system.
Dale Weiler [Sat, 5 Apr 2014 06:53:03 +0000 (02:53 -0400)]
Order
Dale Weiler [Sat, 5 Apr 2014 06:52:01 +0000 (02:52 -0400)]
Consistency
Dale Weiler [Sat, 5 Apr 2014 06:50:07 +0000 (02:50 -0400)]
Fixed Windows builds. Now we also build Win64 packages.
Dale Weiler [Mon, 17 Mar 2014 14:24:48 +0000 (10:24 -0400)]
Less parens
Dale Weiler [Mon, 17 Mar 2014 14:23:13 +0000 (10:23 -0400)]
Remove the qcint cast.
Dale Weiler [Mon, 17 Mar 2014 13:43:17 +0000 (09:43 -0400)]
Use powf instead of pow.
Dale Weiler [Mon, 17 Mar 2014 13:41:53 +0000 (09:41 -0400)]
Fix left/right shift constant fold.
Dale Weiler [Mon, 17 Mar 2014 13:39:59 +0000 (09:39 -0400)]
Add qc_pow.
Wolfgang Bumiller [Sun, 23 Feb 2014 11:31:01 +0000 (12:31 +0100)]
Merge pull request #142 from CurrentResident/big_endian_testsuite
Big endian testsuite
Jim Thoenen [Sun, 23 Feb 2014 04:21:29 +0000 (22:21 -0600)]
White space tweak
Jim Thoenen [Sun, 23 Feb 2014 03:22:41 +0000 (21:22 -0600)]
Tweak for coding convention
Jim Thoenen [Mon, 3 Feb 2014 01:24:59 +0000 (19:24 -0600)]
Allow testsuite to pass on big endian
Move the progs header and body byteswapping into util functions and
call those functions when either reading or writing the progs.
Wolfgang Bumiller [Sat, 8 Feb 2014 09:33:50 +0000 (10:33 +0100)]
Merge branch 'master' into cooking
Dale Weiler [Sat, 8 Feb 2014 07:50:06 +0000 (02:50 -0500)]
s/atanhf/atanh/
Wolfgang Bumiller [Sun, 2 Feb 2014 10:04:18 +0000 (11:04 +0100)]
moving the length multiplication for 64 bit types from util_endianswap into util_swap64; renaming length parameter to count
Dale Weiler [Sun, 2 Feb 2014 10:00:15 +0000 (02:00 -0800)]
Merge pull request #141 from CurrentResident/big_endian_swap_fix
Big endian swap fix
Jim Thoenen [Sun, 2 Feb 2014 08:32:50 +0000 (02:32 -0600)]
Update per IRC peer review feedback
Restore the swap function's original name, remove convenience function,
use %u in log message, whitespace tweak.
Jim Thoenen [Sun, 2 Feb 2014 07:52:50 +0000 (01:52 -0600)]
Oops, scale int64 count into int32 count for swapper.
Jim Thoenen [Sun, 2 Feb 2014 06:57:02 +0000 (00:57 -0600)]
Big-endian: Byteswap only the field contents when writing progs.dat
The previous code swapped not just the fields' contents themselves, but
also field positions within several of the structs, resulting in a
non-working progs.dat when compiled on big endian (ppc in my case).
Swapping on a field-by-field basis now.
Also:
* Addresses weird swap size requests (30+ bytes in one case)
* Take a guess at the right way to log a weird swap request before dying
* Fix swap array length scaling
* Rename the main swap function to reflect its native->little-endian
purpose. Figued that was okay because progs.dat is required to be
always little-endian...
* Add a non-array version of the swap function for convenience
Wolfgang Bumiller [Sun, 26 Jan 2014 11:38:00 +0000 (12:38 +0100)]
Merge branch 'master' into cooking
Wolfgang Bumiller [Sun, 26 Jan 2014 11:37:33 +0000 (03:37 -0800)]
Merge pull request #140 from Sicness/gmqcc.1-hyphen
Fix hyphen-used-as-minus-sign in gmqcc.1
Anton Balashov [Sun, 26 Jan 2014 08:14:18 +0000 (12:14 +0400)]
Fix hyphen-used-as-minus-sign in gmqcc.1
I: gmqcc: hyphen-used-as-minus-sign usr/share/man/man1/gmqcc.1.gz:338
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")"
Dale Weiler [Tue, 7 Jan 2014 18:13:25 +0000 (13:13 -0500)]
Screw clang
Dale Weiler [Tue, 7 Jan 2014 17:58:53 +0000 (12:58 -0500)]
Fix lshift/rshift for runtime and const-fold consistency.
Wolfgang Bumiller [Tue, 7 Jan 2014 14:04:29 +0000 (15:04 +0100)]
sometimes I hate travis
Wolfgang Bumiller [Tue, 7 Jan 2014 14:01:52 +0000 (15:01 +0100)]
Do not create coverage calls on array accessors.
Wolfgang Bumiller [Tue, 7 Jan 2014 13:33:26 +0000 (14:33 +0100)]
Adding coverage support:
The -coverage option causes all values have AST_FLAG_BLOCK_COVERAGE
set by default.
The coverage attribute can be used to control coverage:
It takes an optional list of coverage types, currently only "block"
and "none" is recognized.
[[coverage]] defaults to [[coverage(block)]].
Use [[coverage(none)]] or [[coverage()]] to disable.
Dale Weiler [Wed, 1 Jan 2014 11:25:00 +0000 (06:25 -0500)]
Happy new year redux!
Dale Weiler [Wed, 1 Jan 2014 11:24:16 +0000 (06:24 -0500)]
Happy new year!
Wolfgang Bumiller [Wed, 1 Jan 2014 11:21:00 +0000 (12:21 +0100)]
That's not how it should fail :P
Wolfgang Bumiller [Wed, 1 Jan 2014 11:18:54 +0000 (12:18 +0100)]
improved test of last attribute
Wolfgang Bumiller [Wed, 1 Jan 2014 11:16:19 +0000 (12:16 +0100)]
definite -> last keyword; testcase updated too
Dale Weiler [Wed, 1 Jan 2014 10:32:24 +0000 (05:32 -0500)]
Cleanup some code duplication. This whole parser ugh I just want to rm -rf all of it. Time for GMQCC2.
Dale Weiler [Wed, 1 Jan 2014 10:12:21 +0000 (05:12 -0500)]
Remove final attribute and bareword. [[definite]] is now old [[final]]. There is no bareword definite either.
Dale Weiler [Sun, 15 Dec 2013 06:45:36 +0000 (01:45 -0500)]
More cleanup
Dale Weiler [Sun, 15 Dec 2013 06:37:24 +0000 (01:37 -0500)]
hash cleanups.
Dale Weiler [Sat, 14 Dec 2013 22:30:51 +0000 (17:30 -0500)]
Remove SSE hash, t's just too much effort to maintain.
Dale Weiler [Sat, 14 Dec 2013 20:07:04 +0000 (15:07 -0500)]
Fix some stuff
Dale Weiler [Sat, 14 Dec 2013 19:57:10 +0000 (14:57 -0500)]
Partially fix that.
Dale Weiler [Sat, 14 Dec 2013 11:02:39 +0000 (06:02 -0500)]
typo
Dale Weiler [Sat, 14 Dec 2013 06:34:33 +0000 (01:34 -0500)]
Do not include this function unless !defined(__SSE__)
Dale Weiler [Sat, 14 Dec 2013 06:23:39 +0000 (01:23 -0500)]
Faster hashing reaching 16 GB/s on Phenom II X4.
Dale Weiler [Mon, 9 Dec 2013 00:01:44 +0000 (19:01 -0500)]
Only optimize (a - (-b)) into (a + b) when the unary operand is a negation. This fixes (a - (!b)) being turned into (a + b).
Wolfgang Bumiller [Fri, 6 Dec 2013 21:41:15 +0000 (22:41 +0100)]
adding 'final'
Dale Weiler [Tue, 3 Dec 2013 22:40:15 +0000 (17:40 -0500)]
Bitshifting operators <<, >>, and compound assignment versions now work in non-constant expressions
Dale Weiler [Sun, 1 Dec 2013 15:52:42 +0000 (10:52 -0500)]
Mask out the math constant precedence stuff unless -fftepp-mathdefs
Dale Weiler [Sun, 1 Dec 2013 15:45:43 +0000 (10:45 -0500)]
Mask ftepp math constants with a compiler flag
Dale Weiler [Sun, 1 Dec 2013 15:30:24 +0000 (10:30 -0500)]
User supplied math constants take precedence
Dale Weiler [Sun, 1 Dec 2013 15:26:36 +0000 (10:26 -0500)]
Ignore emitting implicit math constants in the preprocessor if they exist.
Dale Weiler [Sat, 30 Nov 2013 18:14:04 +0000 (13:14 -0500)]
Merge branch 'master' into cooking
Dale Weiler [Sat, 30 Nov 2013 18:13:26 +0000 (10:13 -0800)]
Merge pull request #139 from ignatenkobrain/update_fedora
fedora: Update .spec and INSTALL
Dale Weiler [Sat, 30 Nov 2013 18:13:19 +0000 (10:13 -0800)]
Merge pull request #138 from ignatenkobrain/fix_authors
s/brian/brain/ ;)
Dale Weiler [Sat, 30 Nov 2013 18:13:12 +0000 (10:13 -0800)]
Merge pull request #137 from ignatenkobrain/fix_build_big_endian
fix build on big endian arches
Igor Gnatenko [Sat, 30 Nov 2013 08:35:07 +0000 (12:35 +0400)]
fedora: Update .spec and INSTALL
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Igor Gnatenko [Sat, 30 Nov 2013 08:31:21 +0000 (12:31 +0400)]
s/brian/brain/ ;)
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Igor Gnatenko [Sat, 30 Nov 2013 08:28:59 +0000 (12:28 +0400)]
fix build on big endian arches
Signed-off-by: Dan Horák <dan@danny.cz>
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Dale Weiler [Fri, 29 Nov 2013 18:50:06 +0000 (13:50 -0500)]
Simplify
Dale Weiler [Fri, 29 Nov 2013 18:48:03 +0000 (13:48 -0500)]
Fix fold_op_cmp
Dale Weiler [Fri, 29 Nov 2013 18:36:35 +0000 (13:36 -0500)]
Fixes
Dale Weiler [Fri, 29 Nov 2013 18:18:50 +0000 (13:18 -0500)]
oops