Mercurial > pub > dyncall > dyncall
comparison dyncall/dyncall_aggregate.h @ 546:ba70fb631bea
x64:
* support for non-standard aggr-by-value packing (#pragma pack, etc.)
* callbacks: handling callconv prefixes in signature
author | Tassilo Philipp |
---|---|
date | Tue, 31 May 2022 19:29:34 +0200 |
parents | 71c884e610f0 |
children |
comparison
equal
deleted
inserted
replaced
545:ca28e9e3c644 | 546:ba70fb631bea |
---|---|
47 | 47 |
48 #endif | 48 #endif |
49 | 49 |
50 | 50 |
51 typedef struct DCfield_ { | 51 typedef struct DCfield_ { |
52 DCsize offset, size, array_len; | 52 DCsize offset, size, alignment, array_len; |
53 DCsigchar type; | 53 DCsigchar type; |
54 const DCaggr* sub_aggr; | 54 const DCaggr* sub_aggr; |
55 } DCfield; | 55 } DCfield; |
56 | 56 |
57 struct DCaggr_ { | 57 struct DCaggr_ { |
58 DCsize size, n_fields; | 58 DCsize size, n_fields, alignment; |
59 #if defined(DC_UNIX) && defined(DC__Arch_AMD64) | 59 #if defined(DC_UNIX) && defined(DC__Arch_AMD64) |
60 DCuchar sysv_classes[DC_SYSV_MAX_NUM_CLASSES]; /* !code relies on this to be 64 bits! */ | 60 DCuchar sysv_classes[DC_SYSV_MAX_NUM_CLASSES]; /* !code relies on this to be 64 bits! */ |
61 #endif | 61 #endif |
62 DCfield fields[]; | 62 DCfield fields[]; |
63 }; | 63 }; |