Bill Currie
4828934e50
Fix a equality check typo.
...
Fixes bad code generation when assigning to vector.x in a function with no
parameters and the vector is the first local var.
2018-10-12 23:39:05 +09:00
Bill Currie
78e0a8dc52
Support assigning non-constant vector expressions.
2018-10-12 22:05:17 +09:00
Bill Currie
e03dfa29b4
Clean up the module .ctor construction a little.
2018-10-12 21:09:36 +09:00
Bill Currie
f56d25cda6
Don't double print messages.
2018-10-12 20:46:45 +09:00
Bill Currie
668896aa82
More diagnostic improvements.
2018-10-12 16:01:11 +09:00
Bill Currie
71b3d30aa1
Make the ice a little more informative.
2018-10-12 14:51:39 +09:00
Bill Currie
f58c2fef5a
Switch QF's quaterions from wxyz to xyzw.
...
After messing with SIMD stuff for a little, I think I now understand why
the industry went with xyzw instead of the mathematical wxyz. Anyway, this
will make for less pain in the future (assuming I got everything).
2018-10-12 14:33:55 +09:00
Bill Currie
b7aa5bb8fe
Fix an oops messing up edict size.
2018-10-12 14:33:26 +09:00
Bill Currie
f8606ebab8
Fix a object file segfault when spaces have no data.
...
ie, don't attempt to copy memory from a null pointer (just copy the null
pointer).
2018-10-12 14:00:34 +09:00
Bill Currie
3bd9f96b07
Make internal error messages a little more helpful.
...
They now include the file and line of the compiler as well.
2018-10-12 13:57:59 +09:00
Bill Currie
3656cb966c
Fix some bison deprecation warnings.
2018-10-12 09:32:49 +09:00
Bill Currie
3bc664811e
Fix lost error count tracking.
2018-10-11 22:03:14 +09:00
Bill Currie
a096babb1f
Duplicate memory when creating a qfo from progs.
...
Fixes some double-free bugs when linking after compiling.
2018-10-11 21:37:01 +09:00
Bill Currie
f673ab9c3d
Fix misreporting of failed progs load.
2018-10-11 13:39:48 +09:00
Bill Currie
82809eb856
Simplify the call to PR_LoadProgsFile.
...
I've decided that setting pr.max_edicts and pr.zone_size as part of the
local progs initialization rather than in PR_LoadProgsFile makes more
sense. For one, it is unlikely for the limits to change every time progs is
reloaded. Also, they seem to be a property of the VM rather than the progs.
However, there is nothing stopping the caller from updating max_edicts and
zone_size every call.
2018-10-11 10:06:48 +09:00
Bill Currie
673b45be05
Add diagnostic hooks.
2018-10-09 12:46:13 +09:00
Bill Currie
d95c01be1a
More defspace tests.
2018-10-09 12:45:26 +09:00
Bill Currie
34bcf7faab
Do a pure/const/noreturn/format attribute pass.
...
I always wanted these, but as gcc now provides warnings for functions that
could do with such attributes, finding all the functions is much easier.
2018-10-09 12:42:21 +09:00
Bill Currie
05fd2d8cdd
Start work on a unit test for defspace.
2018-09-09 22:37:09 +09:00
Bill Currie
3a4667318c
Fix the qfcc test autodependencies.
2018-09-09 22:36:20 +09:00
Bill Currie
d1cb15664f
Fix some spelling issues in a comment.
2018-09-09 22:34:24 +09:00
Bill Currie
71569b45c9
Pre-format diagnostic messages.
...
This will make it easier to hook diagnostics enabling unit tests.
2018-09-09 18:09:32 +09:00
Bill Currie
113e0d82ba
Fix a signed comparison error.
...
Not sure how this fix got lost.
2018-09-09 16:48:19 +09:00
Bill Currie
aebd9288cd
Force thread count to 1 when pthreads is unavailable.
...
Don't want the thread count being misreported.
2018-09-09 13:41:22 +09:00
Bill Currie
fa1514798b
Print the number of threads used by qfvis.
2018-09-09 13:41:00 +09:00
Bill Currie
06ab36de3d
Slight cleanup of winding allocation.
...
It seems gcc doesn't care if the & is present when calculating field
offsets, but it not being there bothered me very much and might as well use
our "standard" macro anyway.
2018-09-09 13:38:32 +09:00
Bill Currie
59e85b7d5e
Fix a pile of dead assignments.
...
Some were actual bugs!
2018-09-08 22:23:57 +09:00
Bill Currie
59b04dbcca
Make many qfo int fields unsigned.
...
I don't remember why I thought signed was a good idea, but unsigned does
make more sense for most fields.
2018-09-08 19:45:19 +09:00
Bill Currie
f75ff2d269
Fix some null argument issues.
2018-09-07 22:30:44 +09:00
Bill Currie
8f028b8a0d
Fix some double frees.
2018-09-07 20:03:19 +09:00
Bill Currie
8fd5be0ee0
Fix a pile of sizeof goofs.
...
While scan-build wasn't what I was looking for, it has proven useful
anyway: many of the sizeof errors were just noise, but a few were actual
bugs (allocating too much or too little memory).
2018-09-07 20:00:57 +09:00
Bill Currie
b37b0180cb
Actually do a test for triangle.r.
...
If the kahan triangle area method breaks, I did something wrong with qfcc's
handling of parentheses (ie, floating point math is not truly associative).
2018-08-23 20:52:32 +09:00
Bill Currie
1b9149ef31
Fix an argument passing error in test-harness.
...
It failed to pass the last argument to the ruamoko program being run.
2018-08-23 20:22:29 +09:00
Bill Currie
2fcda44ab0
Kill dag leaf nodes on assignment.
...
Fixes the failing swap test caused by a's original value being used (via t)
after being written.
2018-08-23 20:07:22 +09:00
Bill Currie
cb366dd825
Better flow dot dump "scripting".
...
Not sure I want to keep the statements in the live dump, but the system
is more flexible now.
2018-08-23 20:07:11 +09:00
Bill Currie
cdbdf3f0eb
Make print_operand global.
2018-08-23 20:05:16 +09:00
Bill Currie
8b8b42bde2
Fix a typo in a comment.
2018-08-23 20:04:51 +09:00
Bill Currie
f250065003
Add tests for swapping vars and triangle area.
...
Triangle area was meant just to check Kahan's equation, but it found a
problem with swapping vars. swap.r currently fails.
2018-08-21 16:27:22 +09:00
Bill Currie
0f279cd3f0
Add a comment about fake statement numbers.
...
I had forgotten how they worked (not surprising after 6 years).
2018-08-21 15:57:51 +09:00
Bill Currie
1b84ea747c
Dump statements during flow analysis.
2018-08-21 15:56:39 +09:00
Bill Currie
5ba13d759b
Fix a FIXME.
...
Set of everything got added shortly after that FIXME was added, but I
forgot to fix it.
2018-08-21 15:56:03 +09:00
Bill Currie
fbdf560a7a
Rename print_extra_live to print_flow_vars.
2018-08-21 15:55:11 +09:00
Bill Currie
5dbb7b6d4d
Handle all modelgen commands.
...
Just in case someone ever adds models.qc to progs.src.
2018-08-20 00:11:02 +09:00
Bill Currie
027e76b4c9
Add a doc block to parse_cpp_line.
...
It took me too long to figure it out :P
2018-08-20 00:09:20 +09:00
Bill Currie
4f58429137
Fix an unhealthy pile of gcc 8 warnings.
...
While some of the warnings were merely annoying, some where actual bugs or
unearthed bugs in related code.
2018-08-20 00:05:00 +09:00
Bill Currie
81202d7b29
Add a shutdown builtin to qwaq.
2018-08-19 19:44:45 +09:00
Bill Currie
b795beb520
Add support for \? to qc strings.
...
And fix up the man page a bit.
2018-08-19 19:31:52 +09:00
Bill Currie
0de0eb2fc7
Fix a bunch of bit-rot.
2018-06-08 13:21:30 +09:00
Bill Currie
f522e58d53
Fix some blender warnings.
2018-06-08 12:45:57 +09:00
Bill Currie
2329fb1885
Fix some warnings and bitrot.
2016-10-25 00:10:30 +09:00