Dale Weiler
aed893b6b8
More work for arithmetic exception on vectors.
2014-05-24 23:21:20 -04:00
Dale Weiler
337d7ddbf4
soft float state defaults.
2014-05-24 22:40:14 -04:00
Dale Weiler
ff80bf1aa2
Only when arithmetic exceptions are enabled.
2014-05-24 22:13:47 -04:00
Dale Weiler
1497191e3c
Perliminary work in arithmetic exception handling for vector operations in constant evaluator / folder.
2014-05-24 22:12:05 -04:00
Dale Weiler
3945f26d92
Put this back in global scope, we have a local scope test
2014-05-24 20:36:09 -04:00
Dale Weiler
4fa694fe82
Some CLZ for other toolchains.
2014-05-24 20:33:57 -04:00
Wolfgang Bumiller
edb38ce70e
local compile-time const values are now created as globals, thus they're now subject to constant-folding
2014-05-24 19:13:49 +02:00
Wolfgang Bumiller
536138273f
propagate the 'inexact' flag on when initializing a constant
2014-05-24 17:53:29 +02:00
Dale Weiler
68c2baa7c1
Mage inexact travel across constants.
2014-05-24 11:50:16 -04:00
Dale Weiler
05e20bcdda
Some things. Fix testsuite as well. One test will fail (inexact).
2014-05-24 11:42:10 -04:00
Wolfgang Bumiller
f1ab19ba0b
this should be NULL
2014-05-24 17:15:25 +02:00
Wolfgang Bumiller
b7b60e7468
Merge branch 'master' into cooking
2014-05-24 17:13:05 +02:00
Dale Weiler
bbeb2517c0
Arithmetic exception flag and a plethora of tests.
2014-05-24 10:38:02 -04:00
Dale Weiler
2917d39ef1
Don't forget the BSDmakefile too.
2014-05-24 10:04:14 -04:00
Dale Weiler
cc20d7e4e9
Disable stupid clang warning.
2014-05-24 10:02:58 -04:00
Dale Weiler
5dc7e62b19
Use flags instead.
2014-05-24 09:59:43 -04:00
Dale Weiler
6424ebaf98
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.
2014-05-24 09:53:38 -04:00
Dale Weiler
7024ebfe7f
Merge branch 'master' into cooking
2014-05-13 23:22:25 -04:00
Dale Weiler
a371c4ee27
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.
2014-05-09 02:39:25 -04:00
Wolfgang Bumiller
ba0ac97372
add tests for INSTR_STATE and -femulate-state
2014-04-08 14:35:11 +02:00
Wolfgang Bumiller
8dafdfc5e2
use INSTR_STATE by default, add -femulate-state to switch to emulation, and -state-fps=NUM to set its emulation FPS
2014-04-08 14:34:55 +02:00
Wolfgang Bumiller
0d8b0d419c
implement INSTR_STATE in the qcvm
2014-04-08 14:34:26 +02:00
Dale Weiler
0d1a740bc7
Fix style
2014-04-08 05:06:16 -04:00
Dale Weiler
0db41f4279
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.
2014-04-08 04:02:23 -04:00
Dale Weiler
15d1277158
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.
2014-04-08 03:26:08 -04:00
Wolfgang Bumiller
2b7b2ea455
fix a silly macro issue
2014-04-07 14:28:11 +02:00
Wolfgang Bumiller
e8133893a0
Merge remote-tracking branch 'origin/master' into cooking
2014-04-07 14:23:35 +02:00
Dale Weiler
f1650c42d9
Match C's preprocessor semantics for token pasting with '##'.
2014-04-07 06:00:04 -04:00
Dale Weiler
606d7ac110
Eliminate debug log
2014-04-05 05:16:36 -04:00
Dale Weiler
90533079c8
Rework distro package build system.
2014-04-05 05:16:15 -04:00
Dale Weiler
fe14d1b056
Order
2014-04-05 02:53:03 -04:00
Dale Weiler
8250124c51
Consistency
2014-04-05 02:52:01 -04:00
Dale Weiler
8c0a280a3e
Fixed Windows builds. Now we also build Win64 packages.
2014-04-05 02:50:07 -04:00
Dale Weiler
9e5d02dab0
Less parens
2014-03-17 10:24:48 -04:00
Dale Weiler
827826b9f9
Remove the qcint cast.
2014-03-17 10:23:13 -04:00
Dale Weiler
763e85b3ae
Use powf instead of pow.
2014-03-17 09:43:17 -04:00
Dale Weiler
b21e967581
Fix left/right shift constant fold.
2014-03-17 09:41:53 -04:00
Dale Weiler
06e2cb2b1b
Add qc_pow.
2014-03-17 09:39:59 -04:00
Wolfgang Bumiller
581c48e337
Merge pull request #142 from CurrentResident/big_endian_testsuite
...
Big endian testsuite
2014-02-23 12:31:01 +01:00
Jim Thoenen
56edc3db9c
White space tweak
2014-02-22 22:21:29 -06:00
Jim Thoenen
52adc2113f
Tweak for coding convention
2014-02-22 21:22:41 -06:00
Jim Thoenen
69b89dc6ac
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.
2014-02-10 20:31:54 -06:00
Wolfgang Bumiller
f7e074d88f
Merge branch 'master' into cooking
2014-02-08 10:33:50 +01:00
Dale Weiler
7ffda37513
s/atanhf/atanh/
2014-02-08 02:50:06 -05:00
Wolfgang Bumiller
24763aad65
moving the length multiplication for 64 bit types from util_endianswap into util_swap64; renaming length parameter to count
2014-02-02 11:04:18 +01:00
Dale Weiler
360389638b
Merge pull request #141 from CurrentResident/big_endian_swap_fix
...
Big endian swap fix
2014-02-02 02:00:15 -08:00
Jim Thoenen
2ddb5ad50d
Update per IRC peer review feedback
...
Restore the swap function's original name, remove convenience function,
use %u in log message, whitespace tweak.
2014-02-02 02:32:50 -06:00
Jim Thoenen
3070c03fc0
Oops, scale int64 count into int32 count for swapper.
2014-02-02 01:52:50 -06:00
Jim Thoenen
1bf9ebabcc
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
2014-02-02 00:57:02 -06:00
Wolfgang Bumiller
9cc4fe1ed2
Merge branch 'master' into cooking
2014-01-26 12:38:00 +01:00