quakeforge/tools/qfcc/test
Bill Currie 37f08f9d4f [qfcc] Build the Ruamoko function parameters
The parameter defs are allocated from the parameter space using a
minimum alignment of 4, and varargs functions get a va_list struct in
place of the ...

An "args" expression is unconditionally injected into the call arguments
list at the place where ... is in the list, with arguments passed
through ... coming after the ...

Arguments get through to functions now, but there's problems with taking
the address of local variables: currently done using constant pointer
defs, which can't work for the base register addressing used in Ruamoko
progs.

With the update to test-bi's printf (and a hack to qfcc for lea),
triangle.r actually works, printing the expected results (but -1 instead
of 1 for equality, though that too is actually expected). qfcc will take
a bit longer because it seems there are some design issues in address
expressions (ambiguity, and a few other things) that have pretty much
always been there.
2022-01-24 23:44:48 +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
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 failing test for dealloc warning 2021-12-24 22:45:43 +09:00
dealloc-warn2.r [qfcc] Warn when super dealloc invocation is missing 2021-12-24 22:45:43 +09:00
dealloc-warn3.r [qfcc] Add failing test for multi-path dealloc 2021-12-24 22:45:43 +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 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
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] Add failing test for lost var use 2022-01-23 01:31:50 +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] Fix error in handling argc in test-harness 2022-01-22 15:31:26 +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