From eb5ddd32bf4e458ca0af8d5784f8fd46485ad225 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 1 Dec 2018 00:03:01 -0500 Subject: [PATCH] Change BigEndian casts to be int-sized Fixes spurious warnings like: Fixes https://github.com/harfbuzz/harfbuzz/issues/1436 --- src/hb-open-type.hh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh index ee76d7ed8..99a1c9b93 100644 --- a/src/hb-open-type.hh +++ b/src/hb-open-type.hh @@ -66,7 +66,7 @@ struct IntType inline int cmp (Type2 a) const { Type b = v; - if (sizeof (Type) < sizeof (int) && sizeof (Type2) < sizeof (int)) + if (Size < sizeof (int) && sizeof (Type2) < sizeof (int)) return (int) a - (int) b; else return a < b ? -1 : a == b ? 0 : +1; @@ -82,13 +82,13 @@ struct IntType DEFINE_SIZE_STATIC (Size); }; -typedef IntType HBUINT8; /* 8-bit unsigned integer. */ -typedef IntType HBINT8; /* 8-bit signed integer. */ -typedef IntType HBUINT16; /* 16-bit unsigned integer. */ -typedef IntType HBINT16; /* 16-bit signed integer. */ -typedef IntType HBUINT32; /* 32-bit unsigned integer. */ -typedef IntType HBINT32; /* 32-bit signed integer. */ -typedef IntType HBUINT24; /* 24-bit unsigned integer. */ +typedef IntType HBUINT8; /* 8-bit unsigned integer. */ +typedef IntType< signed, 1> HBINT8; /* 8-bit signed integer. */ +typedef IntType HBUINT16; /* 16-bit unsigned integer. */ +typedef IntType< signed, 2> HBINT16; /* 16-bit signed integer. */ +typedef IntType HBUINT24; /* 24-bit unsigned integer. */ +typedef IntType HBUINT32; /* 32-bit unsigned integer. */ +typedef IntType< signed, 4> HBINT32; /* 32-bit signed integer. */ /* 16-bit signed integer (HBINT16) that describes a quantity in FUnits. */ typedef HBINT16 FWORD;