Mercurial > pub > dyncall > dyncall
comparison test/suite_aggrs/globals.h @ 432:167faab0c0be
first usable version of test suite for aggregates, handling only non-nested struct params, at the moment;
still missing:
- unions
- arrays
- aggregates as return values
author | Tassilo Philipp |
---|---|
date | Fri, 21 Jan 2022 15:42:29 +0100 |
parents | |
children | b4ddad459690 |
comparison
equal
deleted
inserted
replaced
431:1cb8a65ea27f | 432:167faab0c0be |
---|---|
1 /* | |
2 | |
3 Package: dyncall | |
4 Library: test | |
5 File: test/call_aggrs/globals.h | |
6 Description: | |
7 License: | |
8 | |
9 Copyright (c) 2022 Tassilo Philipp <tphilipp@potion-studios.com> | |
10 | |
11 Permission to use, copy, modify, and distribute this software for any | |
12 purpose with or without fee is hereby granted, provided that the above | |
13 copyright notice and this permission notice appear in all copies. | |
14 | |
15 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
16 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
17 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
18 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
22 | |
23 */ | |
24 | |
25 | |
26 /* the 'a'ggregate type points to memory with random data that is big enough to hold all different struct types */ | |
27 #define DEF_TYPES X(c,char) X(s,short) X(i,int) X(j,long) X(l,long long) X(p,void*) X(f,float) X(d,double) X(a,void*) | |
28 | |
29 #define X(CH,T) extern T *K_##CH; extern T *V_##CH; | |
30 DEF_TYPES | |
31 #undef X | |
32 | |
33 typedef void (*funptr)(); | |
34 | |
35 extern funptr G_funtab[]; | |
36 extern char const * G_sigtab[]; | |
37 extern int G_ncases; | |
38 extern int G_maxargs; | |
39 extern char const * G_agg_sigs[]; | |
40 extern int G_agg_sizes[]; | |
41 extern funptr G_agg_newdcstfuncs[]; | |
42 extern funptr G_agg_cmpfuncs[]; | |
43 extern int G_naggs; | |
44 | |
45 void init_K(); | |
46 void init_T(); | |
47 void clear_V(); | |
48 |