Mercurial > pub > dyncall > dyncall
comparison test/call_suite/main.c @ 515:c9c546f8598b
- added _Bool type to call_suite* tests
author | Tassilo Philipp |
---|---|
date | Sun, 10 Apr 2022 21:05:33 +0200 |
parents | a0c51f34023a |
children | ed8835abe05f |
comparison
equal
deleted
inserted
replaced
514:01f928eb9584 | 515:c9c546f8598b |
---|---|
56 | 56 |
57 ++rtype; | 57 ++rtype; |
58 | 58 |
59 while ( (atype = *sig++) != ')') { | 59 while ( (atype = *sig++) != ')') { |
60 switch(atype) { | 60 switch(atype) { |
61 case 'B': dcArgBool (p,K_B[pos]); break; | |
61 case 'c': dcArgChar (p,K_c[pos]); break; | 62 case 'c': dcArgChar (p,K_c[pos]); break; |
62 case 's': dcArgShort (p,K_s[pos]); break; | 63 case 's': dcArgShort (p,K_s[pos]); break; |
63 case 'i': dcArgInt (p,K_i[pos]); break; | 64 case 'i': dcArgInt (p,K_i[pos]); break; |
64 case 'j': dcArgLong (p,K_j[pos]); break; | 65 case 'j': dcArgLong (p,K_j[pos]); break; |
65 case 'l': dcArgLongLong(p,K_l[pos]); break; | 66 case 'l': dcArgLongLong(p,K_l[pos]); break; |
77 } | 78 } |
78 | 79 |
79 switch(*rtype) | 80 switch(*rtype) |
80 { | 81 { |
81 case 'v': dcCallVoid (p,t); s=1; break; /*TODO:check that no return-arg was touched.*/ | 82 case 'v': dcCallVoid (p,t); s=1; break; /*TODO:check that no return-arg was touched.*/ |
83 case 'B': s = ( dcCallBool (p,t) == K_B[pos]); break; | |
82 case 'c': s = ( dcCallChar (p,t) == K_c[pos]); break; | 84 case 'c': s = ( dcCallChar (p,t) == K_c[pos]); break; |
83 case 's': s = ( dcCallShort (p,t) == K_s[pos]); break; | 85 case 's': s = ( dcCallShort (p,t) == K_s[pos]); break; |
84 case 'i': s = ( dcCallInt (p,t) == K_i[pos]); break; | 86 case 'i': s = ( dcCallInt (p,t) == K_i[pos]); break; |
85 case 'j': s = ( dcCallLong (p,t) == K_j[pos]); break; | 87 case 'j': s = ( dcCallLong (p,t) == K_j[pos]); break; |
86 case 'l': s = ( dcCallLongLong(p,t) == K_l[pos]); break; | 88 case 'l': s = ( dcCallLongLong(p,t) == K_l[pos]); break; |
100 /* test: */ | 102 /* test: */ |
101 sig = signature; | 103 sig = signature; |
102 pos = 0; | 104 pos = 0; |
103 while ( (atype = *sig++) != ')') { | 105 while ( (atype = *sig++) != ')') { |
104 switch(atype) { | 106 switch(atype) { |
107 case 'B': s = ( V_B[pos] == K_B[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_B[pos], K_B[pos]); break; | |
105 case 'c': s = ( V_c[pos] == K_c[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_c[pos], K_c[pos]); break; | 108 case 'c': s = ( V_c[pos] == K_c[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_c[pos], K_c[pos]); break; |
106 case 's': s = ( V_s[pos] == K_s[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_s[pos], K_s[pos]); break; | 109 case 's': s = ( V_s[pos] == K_s[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_s[pos], K_s[pos]); break; |
107 case 'i': s = ( V_i[pos] == K_i[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_i[pos], K_i[pos]); break; | 110 case 'i': s = ( V_i[pos] == K_i[pos] ); if (!s) printf("'%c':%d: %d != %d ; ", atype, pos, V_i[pos], K_i[pos]); break; |
108 case 'j': s = ( V_j[pos] == K_j[pos] ); if (!s) printf("'%c':%d: %ld != %ld ; ", atype, pos, V_j[pos], K_j[pos]); break; | 111 case 'j': s = ( V_j[pos] == K_j[pos] ); if (!s) printf("'%c':%d: %ld != %ld ; ", atype, pos, V_j[pos], K_j[pos]); break; |
109 case 'l': s = ( V_l[pos] == K_l[pos] ); if (!s) printf("'%c':%d: %lld != %lld ; ", atype, pos, V_l[pos], K_l[pos]); break; | 112 case 'l': s = ( V_l[pos] == K_l[pos] ); if (!s) printf("'%c':%d: %lld != %lld ; ", atype, pos, V_l[pos], K_l[pos]); break; |