xonotic/gmqcc.git
5 years agoArithmetic exception flag and a plethora of tests.
Dale Weiler [Sat, 24 May 2014 14:38:02 +0000 (10:38 -0400)]
Arithmetic exception flag and a plethora of tests.

5 years agoDon't forget the BSDmakefile too.
Dale Weiler [Sat, 24 May 2014 14:04:14 +0000 (10:04 -0400)]
Don't forget the BSDmakefile too.

5 years agoDisable stupid clang warning.
Dale Weiler [Sat, 24 May 2014 14:02:58 +0000 (10:02 -0400)]
Disable stupid clang warning.

5 years agoUse flags instead.
Dale Weiler [Sat, 24 May 2014 13:59:43 +0000 (09:59 -0400)]
Use flags instead.

5 years agoPerliminary work on arithmetic exception handling in the constant evaluator. We can...
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.

5 years agoMerge branch 'master' into cooking
Dale Weiler [Wed, 14 May 2014 03:22:25 +0000 (23:22 -0400)]
Merge branch 'master' into cooking

5 years agoOn platforms that the byte order check fails on the runtime test is concluded instead... xonotic-v0.8.0
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.

5 years agoFix style
Dale Weiler [Tue, 8 Apr 2014 09:06:16 +0000 (05:06 -0400)]
Fix style

5 years agoOnly increment the buffer location for macro output whitespace stripping if the situa...
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.

5 years agoAdded memory protection to prevent mismatching of mem_d or vec_free on pointers which...
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.

5 years agofix a silly macro issue
Wolfgang Bumiller [Mon, 7 Apr 2014 12:28:11 +0000 (14:28 +0200)]
fix a silly macro issue

5 years agoMerge remote-tracking branch 'origin/master' into cooking
Wolfgang Bumiller [Mon, 7 Apr 2014 12:23:35 +0000 (14:23 +0200)]
Merge remote-tracking branch 'origin/master' into cooking

5 years agoMatch C's preprocessor semantics for token pasting with '##'.
Dale Weiler [Mon, 7 Apr 2014 10:00:04 +0000 (06:00 -0400)]
Match C's preprocessor semantics for token pasting with '##'.

5 years agoEliminate debug log
Dale Weiler [Sat, 5 Apr 2014 09:16:36 +0000 (05:16 -0400)]
Eliminate debug log

5 years agoRework distro package build system.
Dale Weiler [Sat, 5 Apr 2014 09:16:15 +0000 (05:16 -0400)]
Rework distro package build system.

5 years agoOrder
Dale Weiler [Sat, 5 Apr 2014 06:53:03 +0000 (02:53 -0400)]
Order

5 years agoConsistency
Dale Weiler [Sat, 5 Apr 2014 06:52:01 +0000 (02:52 -0400)]
Consistency

5 years agoFixed Windows builds. Now we also build Win64 packages.
Dale Weiler [Sat, 5 Apr 2014 06:50:07 +0000 (02:50 -0400)]
Fixed Windows builds. Now we also build Win64 packages.

5 years agoLess parens
Dale Weiler [Mon, 17 Mar 2014 14:24:48 +0000 (10:24 -0400)]
Less parens

5 years agoRemove the qcint cast.
Dale Weiler [Mon, 17 Mar 2014 14:23:13 +0000 (10:23 -0400)]
Remove the qcint cast.

5 years agoUse powf instead of pow.
Dale Weiler [Mon, 17 Mar 2014 13:43:17 +0000 (09:43 -0400)]
Use powf instead of pow.

5 years agoFix left/right shift constant fold.
Dale Weiler [Mon, 17 Mar 2014 13:41:53 +0000 (09:41 -0400)]
Fix left/right shift constant fold.

5 years agoAdd qc_pow.
Dale Weiler [Mon, 17 Mar 2014 13:39:59 +0000 (09:39 -0400)]
Add qc_pow.

5 years agoMerge pull request #142 from CurrentResident/big_endian_testsuite
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

5 years agoWhite space tweak
Jim Thoenen [Sun, 23 Feb 2014 04:21:29 +0000 (22:21 -0600)]
White space tweak

5 years agoTweak for coding convention
Jim Thoenen [Sun, 23 Feb 2014 03:22:41 +0000 (21:22 -0600)]
Tweak for coding convention

5 years agoAllow testsuite to pass on big endian
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.

5 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Sat, 8 Feb 2014 09:33:50 +0000 (10:33 +0100)]
Merge branch 'master' into cooking

5 years agos/atanhf/atanh/
Dale Weiler [Sat, 8 Feb 2014 07:50:06 +0000 (02:50 -0500)]
s/atanhf/atanh/

5 years agomoving the length multiplication for 64 bit types from util_endianswap into util_swap...
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

5 years agoMerge pull request #141 from CurrentResident/big_endian_swap_fix
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

5 years agoUpdate per IRC peer review feedback
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.

5 years agoOops, scale int64 count into int32 count for swapper.
Jim Thoenen [Sun, 2 Feb 2014 07:52:50 +0000 (01:52 -0600)]
Oops, scale int64 count into int32 count for swapper.

5 years agoBig-endian: Byteswap only the field contents when writing progs.dat
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

5 years agoMerge branch 'master' into cooking
Wolfgang Bumiller [Sun, 26 Jan 2014 11:38:00 +0000 (12:38 +0100)]
Merge branch 'master' into cooking

5 years agoMerge pull request #140 from Sicness/gmqcc.1-hyphen
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

5 years agoFix 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")"

5 years agoScrew clang
Dale Weiler [Tue, 7 Jan 2014 18:13:25 +0000 (13:13 -0500)]
Screw clang

5 years agoFix lshift/rshift for runtime and const-fold consistency.
Dale Weiler [Tue, 7 Jan 2014 17:58:53 +0000 (12:58 -0500)]
Fix lshift/rshift for runtime and const-fold consistency.

5 years agosometimes I hate travis
Wolfgang Bumiller [Tue, 7 Jan 2014 14:04:29 +0000 (15:04 +0100)]
sometimes I hate travis

5 years agoDo not create coverage calls on array accessors.
Wolfgang Bumiller [Tue, 7 Jan 2014 14:01:52 +0000 (15:01 +0100)]
Do not create coverage calls on array accessors.

5 years agoAdding coverage support:
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.

5 years agoHappy new year redux!
Dale Weiler [Wed, 1 Jan 2014 11:25:00 +0000 (06:25 -0500)]
Happy new year redux!

5 years agoHappy new year!
Dale Weiler [Wed, 1 Jan 2014 11:24:16 +0000 (06:24 -0500)]
Happy new year!

5 years agoThat's not how it should fail :P
Wolfgang Bumiller [Wed, 1 Jan 2014 11:21:00 +0000 (12:21 +0100)]
That's not how it should fail :P

5 years agoimproved test of last attribute
Wolfgang Bumiller [Wed, 1 Jan 2014 11:18:54 +0000 (12:18 +0100)]
improved test of last attribute

5 years agodefinite -> last keyword; testcase updated too
Wolfgang Bumiller [Wed, 1 Jan 2014 11:16:19 +0000 (12:16 +0100)]
definite -> last keyword; testcase updated too

5 years agoCleanup some code duplication. This whole parser ugh I just want to rm -rf all of...
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.

5 years agoRemove final attribute and bareword. [[definite]] is now old [[final]]. There is...
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.

5 years agoMore cleanup
Dale Weiler [Sun, 15 Dec 2013 06:45:36 +0000 (01:45 -0500)]
More cleanup

5 years agohash cleanups.
Dale Weiler [Sun, 15 Dec 2013 06:37:24 +0000 (01:37 -0500)]
hash cleanups.

5 years agoRemove SSE hash, t's just too much effort to maintain.
Dale Weiler [Sat, 14 Dec 2013 22:30:51 +0000 (17:30 -0500)]
Remove SSE hash, t's just too much effort to maintain.

5 years agoFix some stuff
Dale Weiler [Sat, 14 Dec 2013 20:07:04 +0000 (15:07 -0500)]
Fix some stuff

5 years agoPartially fix that.
Dale Weiler [Sat, 14 Dec 2013 19:57:10 +0000 (14:57 -0500)]
Partially fix that.

5 years agotypo
Dale Weiler [Sat, 14 Dec 2013 11:02:39 +0000 (06:02 -0500)]
typo

5 years agoDo not include this function unless !defined(__SSE__)
Dale Weiler [Sat, 14 Dec 2013 06:34:33 +0000 (01:34 -0500)]
Do not include this function unless !defined(__SSE__)

5 years agoFaster hashing reaching 16 GB/s on Phenom II X4.
Dale Weiler [Sat, 14 Dec 2013 06:23:39 +0000 (01:23 -0500)]
Faster hashing reaching 16 GB/s on Phenom II X4.

5 years agoOnly optimize (a - (-b)) into (a + b) when the unary operand is a negation. This...
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).

5 years agoadding 'final'
Wolfgang Bumiller [Fri, 6 Dec 2013 21:41:15 +0000 (22:41 +0100)]
adding 'final'

5 years agoBitshifting operators <<, >>, and compound assignment versions now work in non-consta...
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

5 years agoMask out the math constant precedence stuff unless -fftepp-mathdefs
Dale Weiler [Sun, 1 Dec 2013 15:52:42 +0000 (10:52 -0500)]
Mask out the math constant precedence stuff unless -fftepp-mathdefs

5 years agoMask ftepp math constants with a compiler flag
Dale Weiler [Sun, 1 Dec 2013 15:45:43 +0000 (10:45 -0500)]
Mask ftepp math constants with a compiler flag

5 years agoUser supplied math constants take precedence
Dale Weiler [Sun, 1 Dec 2013 15:30:24 +0000 (10:30 -0500)]
User supplied math constants take precedence

5 years agoIgnore emitting implicit math constants in the preprocessor if they exist.
Dale Weiler [Sun, 1 Dec 2013 15:26:36 +0000 (10:26 -0500)]
Ignore emitting implicit math constants in the preprocessor if they exist.

5 years agoMerge branch 'master' into cooking
Dale Weiler [Sat, 30 Nov 2013 18:14:04 +0000 (13:14 -0500)]
Merge branch 'master' into cooking

5 years agoMerge pull request #139 from ignatenkobrain/update_fedora
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

5 years agoMerge pull request #138 from ignatenkobrain/fix_authors
Dale Weiler [Sat, 30 Nov 2013 18:13:19 +0000 (10:13 -0800)]
Merge pull request #138 from ignatenkobrain/fix_authors

s/brian/brain/ ;)

5 years agoMerge pull request #137 from ignatenkobrain/fix_build_big_endian
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

5 years agofedora: Update .spec and INSTALL
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>
5 years agos/brian/brain/ ;)
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>
5 years agofix build on big endian arches
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>
5 years agoSimplify
Dale Weiler [Fri, 29 Nov 2013 18:50:06 +0000 (13:50 -0500)]
Simplify

5 years agoFix fold_op_cmp
Dale Weiler [Fri, 29 Nov 2013 18:48:03 +0000 (13:48 -0500)]
Fix fold_op_cmp

5 years agoFixes
Dale Weiler [Fri, 29 Nov 2013 18:36:35 +0000 (13:36 -0500)]
Fixes

5 years agooops
Dale Weiler [Fri, 29 Nov 2013 18:18:50 +0000 (13:18 -0500)]
oops

5 years agocleanup
Dale Weiler [Fri, 29 Nov 2013 18:13:39 +0000 (13:13 -0500)]
cleanup

5 years agoCleanup lexer old cruft
Dale Weiler [Fri, 29 Nov 2013 12:15:49 +0000 (07:15 -0500)]
Cleanup lexer old cruft

5 years agoHandle byte order mark for unicode. (0xEFBBBF)
Dale Weiler [Fri, 29 Nov 2013 12:03:55 +0000 (07:03 -0500)]
Handle byte order mark for unicode. (0xEFBBBF)

5 years agostatic variables now don't get re-initialized in functions; cannot be initialized...
Wolfgang Bumiller [Thu, 28 Nov 2013 11:04:01 +0000 (12:04 +0100)]
static variables now don't get re-initialized in functions; cannot be initialized with non-constants anymore; and a counter has been added so you can use the same name in a different scope for another static variable again.

5 years agoMake log use the slightly improved algorithm for small values.
Dale Weiler [Mon, 25 Nov 2013 19:08:05 +0000 (14:08 -0500)]
Make log use the slightly improved algorithm for small values.

5 years agoReorder intrinsics table
Dale Weiler [Mon, 25 Nov 2013 18:44:00 +0000 (13:44 -0500)]
Reorder intrinsics table

5 years agoout isn't used
Dale Weiler [Mon, 25 Nov 2013 18:42:17 +0000 (13:42 -0500)]
out isn't used

5 years agoNever mind
Dale Weiler [Mon, 25 Nov 2013 18:32:02 +0000 (13:32 -0500)]
Never mind

5 years agoOnly g++ is this retarded
Dale Weiler [Mon, 25 Nov 2013 18:30:45 +0000 (13:30 -0500)]
Only g++ is this retarded

5 years agoAnother one
Dale Weiler [Mon, 25 Nov 2013 18:26:24 +0000 (13:26 -0500)]
Another one

5 years agoPregenerate 2.0 for const folder since it's used often
Dale Weiler [Mon, 25 Nov 2013 18:25:29 +0000 (13:25 -0500)]
Pregenerate 2.0 for const folder since it's used often

5 years agoImplemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builti...
Dale Weiler [Mon, 25 Nov 2013 18:21:27 +0000 (13:21 -0500)]
Implemented __builtin_ln, __builtin_log, __builtin_log10, __builtin_log2 and __builtin_logb. This algorithm is nuts.

5 years agoFix
Dale Weiler [Mon, 25 Nov 2013 16:29:36 +0000 (11:29 -0500)]
Fix

5 years agoImplement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine...
Dale Weiler [Mon, 25 Nov 2013 16:26:16 +0000 (11:26 -0500)]
Implement __builtin_nan, __builtin_inf and __builtin_epsilon to generate machine nan, inf and epsilon values (at runtime).

5 years agoFix CRC16
Dale Weiler [Mon, 25 Nov 2013 07:11:45 +0000 (02:11 -0500)]
Fix CRC16

5 years agoFix
Dale Weiler [Sun, 24 Nov 2013 02:17:35 +0000 (21:17 -0500)]
Fix

5 years agoMore compiler intrinsics for math functions
Dale Weiler [Sun, 24 Nov 2013 02:14:13 +0000 (21:14 -0500)]
More compiler intrinsics for math functions

5 years agostrength reduct (a - (-b)) into (a + b)
Dale Weiler [Sat, 23 Nov 2013 18:13:21 +0000 (13:13 -0500)]
strength reduct (a - (-b)) into (a + b)

5 years agoBetter exp algorithm from divVerent
Dale Weiler [Sat, 23 Nov 2013 17:45:22 +0000 (12:45 -0500)]
Better exp algorithm from divVerent

5 years agoFix comments
Dale Weiler [Sat, 23 Nov 2013 16:15:28 +0000 (11:15 -0500)]
Fix comments

5 years agoFixed pow
Dale Weiler [Sat, 23 Nov 2013 16:14:42 +0000 (11:14 -0500)]
Fixed pow

5 years agoGuard against nullfunc
Dale Weiler [Sat, 23 Nov 2013 15:58:03 +0000 (10:58 -0500)]
Guard against nullfunc

5 years agoSome math constants
Dale Weiler [Sat, 23 Nov 2013 15:31:51 +0000 (10:31 -0500)]
Some math constants

5 years agoImplement isinf intrinsic
Dale Weiler [Sat, 23 Nov 2013 15:16:48 +0000 (10:16 -0500)]
Implement isinf intrinsic

5 years agoCull back on the TODO
Dale Weiler [Sat, 23 Nov 2013 13:02:56 +0000 (08:02 -0500)]
Cull back on the TODO