quakeforge/tools/qfcc/test
Bill Currie fc7c96d208 [qfcc] Support C's full type system
Along with QuakeC's, of course. This fixes type typeredef2 test (a lot
of work for one little syntax error). Unfortunately, it came at the cost
of requiring `>>` in front of state expressions on C-style functions
(QuakeC-style functions are unaffected). Also, there are now two
shift/reduce conflicts with structs and unions (but these same conflicts
are in gcc 3.4).

This has highlighted the need for having the equivalent of the
expression tree for the declaration system as there are now several
hacks to deal with the separation of types and declarators. But that's a
job for another week.

The grammar constructs for declarations come from gcc 3.4's parser (I
think it's the last version of gcc that used bison. Also, 3.4 is still
GPL 2, so no chance of an issue there).
2023-02-14 12:45:04 +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-compile-pass-run [qfcc] Add some failing typedef redef tests 2023-02-14 12:45:04 +09:00
build-run [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
chewed-alias.r [qfcc] Add a very basic attribute system 2022-02-02 23:51:37 +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 optimization 2022-02-01 14:57:16 +09:00
double-alias.r [qfcc] Tweak the printf to make more sense 2022-02-02 19:04:43 +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 [qfcc] Map 64-bit load/store/assign instructions 2022-02-02 16:06:15 +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
ifsuper.r [qfcc] Add a failing test case for if-super calls 2022-11-12 20:07:30 +09:00
infloop.r Add a test for writes to global vars in a loop. 2012-11-24 14:53:45 +09:00
iterfunc.r [qfcc] Add test for var = func(var) 2022-02-01 21:40:59 +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 some failing typedef redef tests 2023-02-14 12:45:04 +09:00
methodparams.r [qfcc] Add a very basic attribute system 2022-02-02 23:51:37 +09:00
modulo.r [qfcc] Modify the modulo tests to be compatible with Ruamoko ISA 2022-02-01 14:57:16 +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 pragma to control optimization 2022-02-01 14:57:16 +09:00
sendv.r [qfcc] Update sendv test to use @return 2022-02-05 19:30:08 +09:00
state.r [qfcc] Support C's full type system 2023-02-14 12:45:04 +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
temp-component.r [qfcc] Add failing test for temp.component 2022-01-30 13:57:41 +09:00
test-bi.c [gamecode] Pass registered data pointer to builtins 2022-02-14 12:28:38 +09:00
test-bi.h Add a test harness for qfcc. 2012-11-22 21:59:01 +09:00
test-defspace.c [qfcc] Add failing test case for defspace_alloc_aligned_loc 2022-05-01 14:35:24 +09:00
test-defspace.h [build] Move to non-recursive make 2020-06-25 11:35:37 +09:00
test-harness.c [cvar] Make cvars properly typed 2022-04-24 19:15:22 +09:00
test-harness.h [qfcc] Add a failing test case for if-super calls 2022-11-12 20:07:30 +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
typeredef1.r [qfcc] Add some failing typedef redef tests 2023-02-14 12:45:04 +09:00
typeredef2.r [qfcc] Add some failing typedef redef tests 2023-02-14 12:45:04 +09:00
unaryminus.r [qfcc] Add failing test for unary minus 2020-04-08 21:12:56 +09:00
vecaddr.r [qfcc] Really get vecaddr.r working on both ISAs 2022-01-30 20:01:32 +09:00
vecconst.r [qfcc] Add basic support for (u)long expressions 2022-11-16 20:48:58 +09:00
vecexpr.r [qfcc] Use correct vector expression size in test 2022-04-29 18:12:47 +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