summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/texmfmem.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/texmfmem.h')
-rw-r--r--Build/source/texk/web2c/texmfmem.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/texmfmem.h b/Build/source/texk/web2c/texmfmem.h
index 32c41e08215..78bf73fb787 100644
--- a/Build/source/texk/web2c/texmfmem.h
+++ b/Build/source/texk/web2c/texmfmem.h
@@ -113,9 +113,24 @@ typedef union
twohalves hhfield;
#endif
#ifdef WORDS_BIGENDIAN
+#ifdef XeTeX
+ struct
+ {
+ integer CINT;
+ integer CINT1;
+ } x;
+#else
integer cint;
+#endif
fourquarters qqqq;
#else /* not WORDS_BIGENDIAN */
+#ifdef XeTeX
+ struct
+ {
+ integer CINT1;
+ integer CINT;
+ } x;
+#else
struct
{
#if defined (TeX) && !defined (SMALLTeX) || defined (MF) && !defined (SMALLMF) || defined (MP) && !defined (SMALLMP)
@@ -123,12 +138,15 @@ typedef union
#endif /* big {TeX,MF,MP} */
integer CINT;
} u;
+#endif
struct
{
+#ifndef XeTeX
#if defined (TeX) && !defined (SMALLTeX) || defined (MF) && !defined (SMALLMF) || defined (MP) && !defined (SMALLMP)
halfword junk;
#endif /* big {TeX,MF,MP} */
+#endif
fourquarters QQQQ;
} v;
#endif /* not WORDS_BIGENDIAN */
@@ -141,13 +159,28 @@ typedef union
typedef union
{
#ifdef WORDS_BIGENDIAN
+#ifdef XeTeX
+ struct
+ {
+ integer CINT;
+ } x;
+#else
integer cint;
+#endif
fourquarters qqqq;
#else /* not WORDS_BIGENDIAN */
+#ifdef XeTeX
+ struct
+ {
+ halfword junk;
+ integer CINT;
+ } x;
+#else
struct
{
integer CINT;
} u;
+#endif
struct
{
@@ -166,8 +199,16 @@ typedef union
#define rh v.RH
#define lhfield v.LH
+#ifdef XeTeX
+#define cint x.CINT
+#define cint1 x.CINT1
+#else
#ifndef WORDS_BIGENDIAN
#define cint u.CINT
+#endif
+#endif /* XeTeX */
+
+#ifndef WORDS_BIGENDIAN
#define qqqq v.QQQQ
#endif