packages feed

bindings-DSL 1.0.15 → 1.0.16

raw patch · 2 files changed

+11/−10 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

bindings-DSL.cabal view
@@ -17,7 +17,7 @@   .   This package contains no Haskell code, only C header files   designed for hsc2hs.-version: 1.0.15+version: 1.0.16 license: BSD3 license-file: LICENSE maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
bindings.dsl.h view
@@ -182,16 +182,17 @@  #define hsc_starttype(name) \     { \-     name *refpointer = 0; \+     struct {char _; name v;} bc_refdata; \+     size_t typesize = sizeof bc_refdata.v; \+     ptrdiff_t typealign = (char*)&bc_refdata.v - (char*)&bc_refdata; \      bc_fielddata.n = 0; \      char typename[] = # name; \-     size_t typesize = sizeof(name); \      int index; \  #define bc_basicfield(name,type,a,u,f) \      index = bc_fielddata.n++; \      bc_fielddata.offset[index] = (uintmax_t) \-         ((char*)&refpointer->name - (char*)refpointer); \+         ((char*)&bc_refdata.v.name - (char*)&bc_refdata.v); \      bc_fielddata.is_array[index] = a; \      bc_fielddata.is_union[index] = u; \      bc_fielddata.is_fam[index] = f; \@@ -209,13 +210,13 @@  #define hsc_array_field(name,type) \      bc_basicfield(name,# type,1,0,0); \-     bc_fielddata.howmany[index] = sizeof(refpointer->name) \-       / sizeof(refpointer->name[0]); \+     bc_fielddata.howmany[index] = sizeof bc_refdata.v.name \+       / sizeof bc_refdata.v.name[0]; \  #define hsc_union_array_field(name,type) \      bc_basicfield(name,# type,1,1,0); \-     bc_fielddata.howmany[index] = sizeof(refpointer->name) \-       / sizeof(refpointer->name[0]); \+     bc_fielddata.howmany[index] = sizeof bc_refdata.v.name \+       / sizeof bc_refdata.v.name[0]; \  #define hsc_stoptype(dummy) \      printf("data ");bc_conid(typename);printf(" = "); \@@ -276,8 +277,8 @@         } \      printf("instance Storable "); \      bc_conid(typename);printf(" where\n"); \-     printf("  sizeOf _ = %"PRIuMAX"\n  alignment = sizeOf\n", \-       (uintmax_t)(typesize)); \+     printf("  sizeOf _ = %"PRIuMAX"\n  alignment _ = %"PRIuMAX"\n", \+       (uintmax_t)(typesize),(uintmax_t)(typealign)); \      printf("  peek p = do\n"); \      for (i=0; i < bc_fielddata.n; i++) \         { \