flush
[m6w6/ext-psi] / src / libjit.c
index dd843949cd90afc92c9bc3ca8ee721dedae7fc63..5dd1f71084a93238779449b8aa771694bd8144b3 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "php_psi.h"
 #include "libjit.h"
+#include "engine.h"
 
 #include <jit/jit.h>
 
@@ -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) {