mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 16:30:41 +00:00
Add test for long long
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26575 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
f8c2a083f7
commit
a4316b8ddd
1 changed files with 48 additions and 16 deletions
|
@ -32,6 +32,7 @@ typedef struct {
|
|||
- (int) loopInt: (int)v;
|
||||
- (large) loopLarge: (large)v;
|
||||
- (long) loopLong: (long)v;
|
||||
- (long long) loopLongLong: (long long)v;
|
||||
- (large) loopLargePtr: (large*)v;
|
||||
- (id) loopObject: (id)v;
|
||||
- (short) loopShort: (short)v;
|
||||
|
@ -47,6 +48,7 @@ typedef struct {
|
|||
- (int) retInt;
|
||||
- (large) retLarge;
|
||||
- (long) retLong;
|
||||
- (long long) retLongLong;
|
||||
- (id) retObject;
|
||||
- (short) retShort;
|
||||
- (small) retSmall;
|
||||
|
@ -78,6 +80,10 @@ typedef struct {
|
|||
{
|
||||
return v+1;
|
||||
}
|
||||
- (long long) loopLongLong: (long long)v
|
||||
{
|
||||
return v+1;
|
||||
}
|
||||
- (large) loopLargePtr: (large*)v
|
||||
{
|
||||
return *v;
|
||||
|
@ -135,6 +141,10 @@ typedef struct {
|
|||
{
|
||||
return 123456;
|
||||
}
|
||||
- (long long) retLongLong
|
||||
{
|
||||
return 123456;
|
||||
}
|
||||
- (id) retObject
|
||||
{
|
||||
return self;
|
||||
|
@ -208,6 +218,7 @@ main ()
|
|||
char c;
|
||||
short s;
|
||||
long l;
|
||||
long long q;
|
||||
float f;
|
||||
double d;
|
||||
id o;
|
||||
|
@ -287,6 +298,14 @@ printf("Calling proxy\n");
|
|||
l = [p retLong];
|
||||
printf("forward: %ld\n", l);
|
||||
|
||||
SETUP(retLongLong);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: 123456, ");
|
||||
[inv getReturnValue: &q];
|
||||
printf("invoke: %lld ", q);
|
||||
q = [p retLong];
|
||||
printf("forward: %lld\n", q);
|
||||
|
||||
SETUP(retFloat);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: 123.456, ");
|
||||
|
@ -319,22 +338,6 @@ printf("Calling proxy\n");
|
|||
str = [p retString];
|
||||
printf("forward: '%s'\n", str);
|
||||
|
||||
SETUP(retSmall);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: {11,22}, ");
|
||||
[inv getReturnValue: &sm];
|
||||
printf("invoke: {%d,%d} ", sm.c, sm.i);
|
||||
sm = [p retSmall];
|
||||
printf("forward: {%d,%d}\n", sm.c, sm.i);
|
||||
|
||||
SETUP(retLarge);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: {99,large,99.99}, ");
|
||||
[inv getReturnValue: &la];
|
||||
printf("invoke: {%d,%s,%.2f} ", la.i, la.s, la.f);
|
||||
la = [p retLarge];
|
||||
printf("forward: {%d,%s,%.2f}\n", la.i, la.s, la.f);
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -378,6 +381,16 @@ printf("Calling proxy\n");
|
|||
l = [p loopLong: 3];
|
||||
printf("forward: %ld\n", l);
|
||||
|
||||
SETUP(loopLongLong:);
|
||||
q = 3;
|
||||
[inv setArgument: &q atIndex: 2];
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: 4, ");
|
||||
[inv getReturnValue: &q];
|
||||
printf("invoke: %lld ", q);
|
||||
q = [p loopLong: 3];
|
||||
printf("forward: %lld\n", q);
|
||||
|
||||
SETUP(loopFloat:);
|
||||
f = 4.0;
|
||||
[inv setArgument: &f atIndex: 2];
|
||||
|
@ -422,6 +435,25 @@ printf("Calling proxy\n");
|
|||
str = [p loopString: str];
|
||||
printf("forward: '%s'\n", str);
|
||||
|
||||
|
||||
|
||||
|
||||
SETUP(retSmall);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: {11,22}, ");
|
||||
[inv getReturnValue: &sm];
|
||||
printf("invoke: {%d,%d} ", sm.c, sm.i);
|
||||
sm = [p retSmall];
|
||||
printf("forward: {%d,%d}\n", sm.c, sm.i);
|
||||
|
||||
SETUP(retLarge);
|
||||
[inv invokeWithTarget: t];
|
||||
printf("Expect: {99,large,99.99}, ");
|
||||
[inv getReturnValue: &la];
|
||||
printf("invoke: {%d,%s,%.2f} ", la.i, la.s, la.f);
|
||||
la = [p retLarge];
|
||||
printf("forward: {%d,%s,%.2f}\n", la.i, la.s, la.f);
|
||||
|
||||
SETUP(loopSmall:);
|
||||
printf("Expect: {8,9}, ");
|
||||
[inv setArgument: &tmpsm atIndex: 2];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue