]>
git.rm.cloudns.org Git - xonotic/gmqcc.git/log
Dale Weiler [Mon, 28 Dec 2015 12:58:54 +0000 (07:58 -0500)]
Fix unary negation (-)
Dale Weiler [Fri, 30 Jan 2015 05:40:59 +0000 (00:40 -0500)]
Don't allocate globals for constants that aren't read
Dale Weiler [Fri, 30 Jan 2015 05:25:10 +0000 (00:25 -0500)]
Constant folding for strings
Dale Weiler [Fri, 30 Jan 2015 04:33:59 +0000 (23:33 -0500)]
Fix for loops
Dale Weiler [Fri, 30 Jan 2015 04:13:55 +0000 (23:13 -0500)]
For now
Dale Weiler [Fri, 9 Jan 2015 19:53:35 +0000 (14:53 -0500)]
Update license headers
Dale Weiler [Fri, 9 Jan 2015 04:42:46 +0000 (23:42 -0500)]
Fix variable declarations in for-loop initializers
Dale Weiler [Wed, 7 Jan 2015 01:39:20 +0000 (20:39 -0500)]
More comments
Dale Weiler [Wed, 7 Jan 2015 01:33:31 +0000 (20:33 -0500)]
grammar
Dale Weiler [Wed, 7 Jan 2015 01:30:17 +0000 (20:30 -0500)]
Fix the soft float implementation. Comment it as well.
Dale Weiler [Wed, 10 Dec 2014 07:43:42 +0000 (02:43 -0500)]
Merge branch 'cooking'
Conflicts:
test.c
Dale Weiler [Wed, 10 Dec 2014 07:40:35 +0000 (02:40 -0500)]
When storing to a vector member as part of an entity field we must use STOREP
Dale Weiler [Fri, 7 Nov 2014 08:12:34 +0000 (03:12 -0500)]
Implement support for #include MACRO and #include __LINE__
Dale Weiler [Fri, 7 Nov 2014 07:01:17 +0000 (02:01 -0500)]
Don't emit whitespace when stringifying TOKEN_WHITE.
Other aspects of the preprocessor already skip whitespace leading up to a token. The only situation in which a TOKEN_WHITE can
exist as part of the token stream during stringification, is when the whitespace is trailing after a token. This is situation is
really only possible in the context of a macro argument. This behaviour is inconsistent.
Consider the following
FOO( space_before)
FOO(space_after )
The former will reduce to "space_before" since the preprocessor will skip whitespace leading up to the token `space_before', while
the latter will reduce to "space_after ".
The C preprocessor doesn't preserve whitespace, so we won't either. This doesn't break any existing code.
Dale Weiler [Tue, 4 Nov 2014 19:32:56 +0000 (14:32 -0500)]
Allow negation to propagate inexactness in constant folder by using neg(x) = x*-1
Wolfgang Bumiller [Sat, 18 Oct 2014 12:39:14 +0000 (14:39 +0200)]
manpage/init: -fsplit-vector-parameters description
Wolfgang Bumiller [Sat, 18 Oct 2014 12:27:16 +0000 (14:27 +0200)]
we like to spell things properly - if this commit message contains a typo I don't catch before pushing then that's totally intentional
Wolfgang Bumiller [Sat, 18 Oct 2014 12:25:28 +0000 (14:25 +0200)]
ir_builder_imm_float: add IR_FLAG_ERASEABLE
Wolfgang Bumiller [Sat, 18 Oct 2014 11:53:15 +0000 (13:53 +0200)]
ir_builder_imm_float: mark them as const, otherwise they end up getting saved
Wolfgang Bumiller [Sat, 18 Oct 2014 11:51:25 +0000 (13:51 +0200)]
split-vectors test
Wolfgang Bumiller [Sat, 18 Oct 2014 11:49:13 +0000 (13:49 +0200)]
adding -fsplit-vector-parameters, todo: float-lookup should get optimized as commented
Wolfgang Bumiller [Sat, 18 Oct 2014 11:47:23 +0000 (13:47 +0200)]
renaming the length operator to _length and fixing the lexing of that operator, generic names for operators is really a bad idea
Dale Weiler [Fri, 17 Oct 2014 23:37:01 +0000 (19:37 -0400)]
Support text type escape sequences \b and \s.
Dale Weiler [Fri, 17 Oct 2014 02:55:16 +0000 (22:55 -0400)]
Converting a literal to null pointer produces a warning
Dale Weiler [Mon, 29 Sep 2014 07:38:08 +0000 (03:38 -0400)]
Fix tests
Dale Weiler [Mon, 29 Sep 2014 00:28:56 +0000 (20:28 -0400)]
Some fixes
Dale Weiler [Sat, 27 Sep 2014 08:50:50 +0000 (04:50 -0400)]
Make it a function
Dale Weiler [Sat, 27 Sep 2014 08:15:32 +0000 (04:15 -0400)]
Implemented length operator. This closes #130
Dale Weiler [Sat, 27 Sep 2014 06:32:02 +0000 (02:32 -0400)]
Implement ini [includes] area like Trac. This closes #65
Dale Weiler [Sat, 27 Sep 2014 05:52:33 +0000 (01:52 -0400)]
Make that unsigned
Dale Weiler [Sat, 27 Sep 2014 05:48:03 +0000 (01:48 -0400)]
Implement support for indirect macro expansions in the preprocessor. This closes #36
Dale Weiler [Fri, 26 Sep 2014 23:58:32 +0000 (19:58 -0400)]
silly clang warning is silly
Dale Weiler [Fri, 26 Sep 2014 23:53:50 +0000 (19:53 -0400)]
Fix hash strlen properly instead of blindly disabling it
Wolfgang Bumiller [Fri, 26 Sep 2014 13:32:14 +0000 (15:32 +0200)]
accidentally left those in
Wolfgang Bumiller [Fri, 26 Sep 2014 13:25:33 +0000 (15:25 +0200)]
For now I'll just disable this
Wolfgang Bumiller [Fri, 26 Sep 2014 13:08:49 +0000 (15:08 +0200)]
hopefully sanitize field creation logic a bit
Dale Weiler [Tue, 12 Aug 2014 00:59:34 +0000 (20:59 -0400)]
Fix
Dale Weiler [Thu, 31 Jul 2014 17:13:43 +0000 (13:13 -0400)]
Set name for is_varargs too.
Dale Weiler [Thu, 31 Jul 2014 16:37:26 +0000 (12:37 -0400)]
Fix T...name
Dale Weiler [Thu, 31 Jul 2014 04:44:42 +0000 (00:44 -0400)]
Remove debug info from parse error.
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