quakeforge/tools/qfcc/test
Bill Currie 54e079ab75 [qfcc] Fold int constants more aggressively
This code now reaches into one level of the expression tree and
rearranges the nodes to allow the constant folder to do its things, but
only for ints, and only when the folding is trivially correct (* and *,
+/- and +/-). There may be more opportunities, but these cover what I
needed for now and anything more will need code generation or smarter
tree manipulation as things are getting out of hand.
2022-01-29 15:38:39 +09:00
..
old Fix a pile of double semicolons 2021-01-09 20:42:23 +09:00
.gdbinit
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] Add pragma to control warning promotion 2022-01-25 22:15:28 +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
const-fold-int.r [qfcc] Fold int constants more aggressively 2022-01-29 15:38:39 +09:00
deadbool.r Implement double constants 2020-02-15 23:49:12 +09:00
dealloc-nowarn.r [qfcc] Add failing test for dealloc warning 2021-12-24 22:45:43 +09:00
dealloc-nowarn2.r [qfcc] Add failing test for multi-path dealloc 2021-12-24 22:45:43 +09:00
dealloc-warn.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
dealloc-warn2.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
dealloc-warn3.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-alias.r [gamecode] Rename ev_integer to ev_int 2022-01-18 13:27:19 +09:00
double-demote-float-ainit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-float-ginit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-float-linit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-float.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-int-ainit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-int-ginit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-int-linit.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-demote-int.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-float-compare.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double-int-compare.r [qfcc] Add pragma to control warning promotion 2022-01-25 22:15:28 +09:00
double.r Add some tests for double comparison 2020-02-15 23:49:12 +09:00
entity-struct.r [qfcc] Handle aliased field types 2021-07-24 18:09:54 +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
link_order.r [qfcc] Add a test for use/write dependencies 2021-12-27 14:17:12 +09:00
lost-use.r [qfcc] Add failing test for lost var use 2022-01-23 01:31:50 +09:00
Makemodule.am [qfcc] Fold int constants more aggressively 2022-01-29 15:38:39 +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
ptraliasenc.r [qfcc] Correct xdef structures and usage in test 2022-01-18 21:42:53 +09:00
ptrstructcast.r [qfcc] Un-dereference src expression early for movep 2021-06-30 20:05:27 +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
return-postop.r [qfcc] Add failing test for return of postop 2022-01-21 12:40:59 +09:00
sendv.r [qfcc] Update sendv test for corrected implementation 2020-03-11 11:04:49 +09:00
state.r [gamecode] Clean up state imlementations 2021-07-15 16:55:02 +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 [qfcc] Build the Ruamoko function parameters 2022-01-24 23:44:48 +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 [qfcc] Align progs memory to 32 bytes in the test harness 2022-01-26 16:57:34 +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
twice-called.r [qfcc] Move .return handling into statements.c 2022-01-21 13:09:23 +09:00
typedef.r [gamecode] Rename ev_pointer to ev_ptr 2022-01-18 14:36:06 +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