1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
|
Index: flite-2.1-release/include/cst_val.h
===================================================================
--- flite-2.1-release.orig/include/cst_val.h
+++ flite-2.1-release/include/cst_val.h
@@ -46,6 +46,8 @@
#include "cst_alloc.h"
#include "cst_val_defs.h"
+#include <stdint.h>
+
/* Only CONS can be an even number */
#define CST_VAL_TYPE_CONS 0
#define CST_VAL_TYPE_INT 1
@@ -61,10 +63,15 @@ typedef struct cst_val_cons_struct {
typedef struct cst_val_atom_struct {
#ifdef WORDS_BIGENDIAN
+#if UINTPTR_MAX > 0xfffffffful
+ int ref_count;
+ int type; /* order is here important */
+#else
short ref_count;
short type; /* order is here important */
+#endif
#else
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
int type; /* order is here important */
int ref_count;
#else
@@ -74,7 +81,7 @@ typedef struct cst_val_atom_struct {
#endif
union
{
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
double fval;
long long ival;
void *vval;
Index: flite-2.1-release/include/cst_val_const.h
===================================================================
--- flite-2.1-release.orig/include/cst_val_const.h
+++ flite-2.1-release/include/cst_val_const.h
@@ -111,6 +111,8 @@
#include "cst_val_defs.h"
+#include <stdint.h>
+
/* There is built-in int to string conversions here for numbers */
/* up to 20, note if you make this bigger you have to hand change */
/* other things too */
@@ -191,10 +193,15 @@ extern const cst_val val_string_24;
/* unquestionably doing the wrong thing */
typedef struct cst_val_atom_struct_float {
#ifdef WORDS_BIGENDIAN
+#if UINTPTR_MAX > 0xfffffffful
+ int ref_count;
+ int type; /* order is here important */
+#else
short ref_count;
short type; /* order is here important */
+#endif
#else
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
int type; /* order is here important */
int ref_count;
#else
@@ -202,7 +209,7 @@ typedef struct cst_val_atom_struct_float
short ref_count;
#endif
#endif
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
double fval;
#else
float fval;
@@ -211,10 +218,15 @@ typedef struct cst_val_atom_struct_float
typedef struct cst_val_atom_struct_int {
#ifdef WORDS_BIGENDIAN
+#if UINTPTR_MAX > 0xfffffffful
+ int ref_count;
+ int type; /* order is here important (and unintuitive) */
+#else
short ref_count;
short type; /* order is here important (and unintuitive) */
+#endif
#else
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
int type; /* order is here important */
int ref_count;
#else
@@ -222,7 +234,7 @@ typedef struct cst_val_atom_struct_int {
short ref_count;
#endif
#endif
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
long long ival;
#else
int ival;
@@ -231,10 +243,15 @@ typedef struct cst_val_atom_struct_int {
typedef struct cst_val_atom_struct_void {
#ifdef WORDS_BIGENDIAN
+#if UINTPTR_MAX > 0xfffffffful
+ int ref_count;
+ int type; /* order is here important */
+#else
short ref_count;
short type; /* order is here important */
+#endif
#else
-#if (defined(__x86_64__) || defined(_M_X64))
+#if UINTPTR_MAX > 0xfffffffful
int type; /* order is here important */
int ref_count;
#else
|