mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-05-31 08:41:11 +00:00
more tests
This commit is contained in:
parent
76305e7e6b
commit
0c974c0530
3 changed files with 96 additions and 0 deletions
31
tools/qfcc/test/overload.r
Normal file
31
tools/qfcc/test/overload.r
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
//integer foo;
|
||||||
|
//typedef integer foo;
|
||||||
|
//integer (void) foo = #0;
|
||||||
|
//integer (bag);
|
||||||
|
//.integer (sack);
|
||||||
|
//.integer (float sack)x;
|
||||||
|
//integer *bar, baz;
|
||||||
|
//integer snafu(void)
|
||||||
|
//{
|
||||||
|
//}
|
||||||
|
//integer [8]blah;
|
||||||
|
|
||||||
|
@overload void func (integer a, integer b, integer c);
|
||||||
|
@overload void func (integer a, integer b);
|
||||||
|
@overload void func (integer a, ...);
|
||||||
|
//@overload void func (integer a, integer b, ...);
|
||||||
|
@overload void func (string y);
|
||||||
|
//@overload void func (...);
|
||||||
|
void func (integer x)
|
||||||
|
{
|
||||||
|
// func ("");
|
||||||
|
}
|
||||||
|
void func (string y)
|
||||||
|
{
|
||||||
|
// func (0.0);
|
||||||
|
// func (0, 0.0);
|
||||||
|
// func (0, 0, 0.0);
|
||||||
|
func (0.0, "");
|
||||||
|
// func (0, 0, 0, 0, 0.0);
|
||||||
|
}
|
||||||
|
|
17
tools/qfcc/test/pointer-param.r
Normal file
17
tools/qfcc/test/pointer-param.r
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
@interface foo
|
||||||
|
-(integer)bar:(integer [])baz;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation foo
|
||||||
|
-(integer)bar:(integer [])blah
|
||||||
|
{
|
||||||
|
return blah[1];
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
integer (integer x) bletch;
|
||||||
|
|
||||||
|
integer (integer y) bletch =
|
||||||
|
{
|
||||||
|
return y;
|
||||||
|
}
|
48
tools/qfcc/test/struct-return.r
Normal file
48
tools/qfcc/test/struct-return.r
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
void (obj_module_t [] msg) __obj_exec_class = #0;
|
||||||
|
id (id receiver, SEL op, ...) obj_msgSend = #0;
|
||||||
|
|
||||||
|
struct val_s {
|
||||||
|
integer w,x,y,z;
|
||||||
|
};
|
||||||
|
typedef struct val_s val_t;
|
||||||
|
|
||||||
|
struct foo_s {
|
||||||
|
integer a;
|
||||||
|
val_t b;
|
||||||
|
};
|
||||||
|
typedef struct foo_s foo_t;
|
||||||
|
|
||||||
|
@interface Foo
|
||||||
|
{
|
||||||
|
val_t v;
|
||||||
|
}
|
||||||
|
- (val_t) v;
|
||||||
|
@end
|
||||||
|
/*
|
||||||
|
@implementation Foo
|
||||||
|
- (val_t) v
|
||||||
|
{
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
val_t () foo =
|
||||||
|
{
|
||||||
|
// local val_t v;
|
||||||
|
local foo_t f;
|
||||||
|
local foo_t []ff = &f;
|
||||||
|
// v.x = v.y = v.z = v.w = 0;
|
||||||
|
// f.b = v;
|
||||||
|
// v = f.b;
|
||||||
|
// return v;
|
||||||
|
// ff.b = v;
|
||||||
|
// v = ff.b;
|
||||||
|
return ff.b;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
void (Foo f) bar =
|
||||||
|
{
|
||||||
|
// local val_t v = foo ();
|
||||||
|
local val_t u = [f v];
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue