X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Flibjit.c;h=5dd1f71084a93238779449b8aa771694bd8144b3;hp=dd843949cd90afc92c9bc3ca8ee721dedae7fc63;hb=8b652242a4ef920f2ab82bfb822596de25bc5a63;hpb=7e3b009ddee1508720d3493c3985654e8f21ea0e diff --git a/src/libjit.c b/src/libjit.c index dd84394..5dd1f71 100644 --- a/src/libjit.c +++ b/src/libjit.c @@ -8,6 +8,7 @@ #include "php_psi.h" #include "libjit.h" +#include "engine.h" #include @@ -50,6 +51,10 @@ static inline jit_type_t psi_jit_token_type(token_t t) { return jit_type_sys_float; case PSI_T_DOUBLE: return jit_type_sys_double; +#ifdef HAVE_LONG_DOUBLE + case PSI_T_LONG_DOUBLE: + return jit_type_sys_long_double; +#endif case PSI_T_POINTER: return jit_type_void_ptr; } @@ -69,13 +74,14 @@ static inline jit_type_t psi_jit_impl_type(token_t impl_type) { } return NULL; } + static void psi_jit_struct_type_dtor(void *type) { jit_type_t strct = type; jit_type_free(strct); } -static size_t psi_jit_struct_type_pad(jit_type_t **els, size_t padding) { +static size_t psi_jit_struct_type_pad(jit_type_t *els, size_t padding) { size_t i; for (i = 0; i < padding; ++i) { @@ -86,7 +92,7 @@ static size_t psi_jit_struct_type_pad(jit_type_t **els, size_t padding) { } static unsigned psi_jit_struct_type_elements(decl_struct *strct, jit_type_t **fields) { - size_t i, j, argc = strct->args->count, nels = 0, offset = 0, maxalign; + size_t i, argc = strct->args->count, nels = 0, offset = 0, maxalign; *fields = calloc(argc + 1, sizeof(*fields)); for (i = 0; i < strct->args->count; ++i) {