quakeforge/tools/qfcc/test
Bill Currie a3aebc983b [qfcc] Add dependency edges for moved labels
When moving an identifier label from one node to another, the first node
must be evaluated before the second node, which the edge guarantees.
However, code for swapping two variables

    t = a; a = b; b = t;

creates a dependency cycle. The solution is to create a new leaf node
for the source operand of the assignment. This fixes the swap.r test
without pessimizing postop code.

This takes care of the core problem in #3, but there is still room for
improvement in that the load/store can be combined into a move.
2021-06-29 14:42:16 +09:00
..
old Fix a pile of double semicolons 2021-01-09 20:42:23 +09:00
.gdbinit v6 modulo test 2010-12-19 11:19:23 +09:00
address-cast.r Add failing global init test too 2020-02-15 23:49:12 +09:00
alignment.r Finish up alignment tests and add address cast 2020-02-15 23:49:12 +09:00
anonstruct.r [qfcc] Make anonstruct test robust against pointer math 2020-03-17 12:16:24 +09:00
assignchain.r [qfcc] Correct some misinformative prints 2020-03-14 01:28:00 +09:00
build-compile-fail-run [qfcc] Catch declarations of arrays of class 2020-03-30 19:02:41 +09:00
build-run [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
chewed-alias.r [qfcc] Update chewed-alias test for new warnings 2020-03-05 18:26:11 +09:00
chewed-return.r Don't use the expr type for assignments. 2012-11-30 21:06:08 +09:00
classarray.r [qfcc] Catch declarations of arrays of class 2020-03-30 19:02:41 +09:00
comma-expr.r Implement comma expressions 2019-06-09 16:56:20 +09:00
compound.r [qfcc] Support compound init in assignment and params 2020-03-11 19:48:25 +09:00
deadbool.r Implement double constants 2020-02-15 23:49:12 +09:00
double-alias.r [qfcc] Add a failing test for aliased live vars 2020-04-01 13:49:58 +09:00
double-demote-float-ainit.r Test array initializer double demotions 2020-02-15 23:49:12 +09:00
double-demote-float-ginit.r Catch double demotion in global initializers 2020-02-15 23:49:12 +09:00
double-demote-float-linit.r Catch and warn demotion of double in assignments 2020-02-15 23:49:12 +09:00
double-demote-float.r Add tests for double demotion 2020-02-15 23:49:12 +09:00
double-demote-int-ainit.r Test array initializer double demotions 2020-02-15 23:49:12 +09:00
double-demote-int-ginit.r Catch double demotion in global initializers 2020-02-15 23:49:12 +09:00
double-demote-int-linit.r Catch and warn demotion of double in assignments 2020-02-15 23:49:12 +09:00
double-demote-int.r Add tests for double demotion 2020-02-15 23:49:12 +09:00
double-float-compare.r Create more double related tests 2020-02-15 23:49:12 +09:00
double-int-compare.r Create more double related tests 2020-02-15 23:49:12 +09:00
double.r Add some tests for double comparison 2020-02-15 23:49:12 +09:00
enum.r Fix assigning int to enum or enum to int 2019-06-10 08:46:40 +09:00
fordecl.r Fix for decl test scope issue 2019-06-09 13:55:07 +09:00
func-expr.r Add a test for functions in binary expressions. 2013-09-27 23:15:57 +09:00
func-expr2.r [qfcc] Add a new failing test 2020-03-26 19:22:41 +09:00
func-static.r Add a test for function local static variables. 2012-12-03 16:27:31 +09:00
gcd.pas [qfcc] Add ExitCode support to quake-pascal 2020-03-20 12:59:25 +09:00
infloop.r Add a test for writes to global vars in a loop. 2012-11-24 14:53:45 +09:00
ivar-struct-return.r [qfcc] Make ivar-struct-return fail 2020-03-17 23:39:17 +09:00
Makemodule.am [qfcc] Add dependency edges for moved labels 2021-06-29 14:42:16 +09:00
methodparams.r [qfcc] Fix mangled method parameters 2020-03-06 17:37:58 +09:00
modulo.r Add tests for %% 2020-02-16 17:02:38 +09:00
nilparamret.r [qfcc] Add failing nil return through @param bug 2020-03-27 20:32:52 +09:00
overload.r [qfcc] Add failing function overload test 2020-03-28 18:58:08 +09:00
paramret.r Add a test for returning @param into an array. 2012-12-26 11:49:39 +09:00
postop.r [qfcc] Add dependency edges for moved labels 2021-06-29 14:42:16 +09:00
quaternion.r Support assigning non-constant vector expressions. 2018-10-12 22:05:17 +09:00
return-ivar.r Force RETURN's operand to be live. 2012-12-20 21:18:27 +09:00
sendv.r [qfcc] Update sendv test for corrected implementation 2020-03-11 11:04:49 +09:00
state.r Implement double constants 2020-02-15 23:49:12 +09:00
static-init.r [qfcc] Add failing test for static init 2021-01-13 16:47:49 +09:00
struct-init-param.r [qfcc] Support pointers to temp operands 2020-03-16 14:24:47 +09:00
struct-nil-init.r [qfcc] Treat { } as nil for initializing compound types 2020-02-27 20:30:39 +09:00
structarray.r Implement automatic array sizing from initializer 2019-06-09 23:11:38 +09:00
structlive.r Add a test for struct writes. 2012-12-13 13:44:25 +09:00
structptr.r Make structptr.r a little quieter. 2012-11-22 21:59:01 +09:00
structstruct.r Extend nested struct test to cover struct copy 2019-06-17 22:57:40 +09:00
swap.r Add tests for swapping vars and triangle area. 2018-08-21 16:27:22 +09:00
test-bi.c Start implementing vec = [x,y,z]. 2013-09-27 23:15:56 +09:00
test-bi.h Add a test harness for qfcc. 2012-11-22 21:59:01 +09:00
test-defspace.c [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
test-defspace.h [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
test-harness.c Merge master into csqc-improvements 2021-03-25 22:01:31 +09:00
test-harness.h [qfcc] Make ivar-struct-return fail 2020-03-17 23:39:17 +09:00
triangle.r Fix several double-related bug 2020-02-15 23:49:12 +09:00
tw-defspace.c More defspace tests. 2018-10-09 12:45:26 +09:00
tw-diagnostic.c Start work on a unit test for defspace. 2018-09-09 22:37:09 +09:00
tw-strpool.c Start work on a unit test for defspace. 2018-09-09 22:37:09 +09:00
typedef.r [qfcc] Fix missed t enum cleanup 2020-03-30 19:02:54 +09:00
typelinker.h [qfcc] Add failing aliased type linking test 2020-03-28 23:30:05 +09:00
typelinker_a.r [qfcc] Add failing aliased type linking test 2020-03-28 23:30:05 +09:00
typelinker_b.r [qfcc] Add failing aliased type linking test 2020-03-28 23:30:05 +09:00
unaryminus.r [qfcc] Add failing test for unary minus 2020-04-08 21:12:56 +09:00
vecaddr.r [qfcc] Add failing vector element address test 2020-03-04 00:37:10 +09:00
vecexpr.r [qfcc] Rearrange vecexpr.r for easier debugging 2020-03-08 16:50:39 +09:00
vecinit.r Set up temp aliases correctly 2019-06-18 10:38:19 +09:00
voidfor.r Append a new sblock for return when necessary. 2012-12-21 20:11:27 +09:00
while.r Add a test for while (count--) 2012-11-22 21:59:00 +09:00
zerolinker.r [qfcc] Fix missed t enum cleanup 2020-03-30 19:02:54 +09:00