diff options
author | Mojca Miklavec <mojca.miklavec@gmail.com> | 2019-02-01 10:03:15 +0000 |
---|---|---|
committer | Mojca Miklavec <mojca.miklavec@gmail.com> | 2019-02-01 10:03:15 +0000 |
commit | 9e0ed1cd036795b4b01f6ecc6fc0db6d4fe8d416 (patch) | |
tree | 7610fee6f59e720c46c9a20ca969a777f49a2c24 /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh | |
parent | 71de43fbefc095e4eed5d8fa3e1abdc4f83792a3 (diff) |
Upstream patch for Harfbuzz (fix build on Solaris)
https://github.com/harfbuzz/harfbuzz/issues/1535
git-svn-id: svn://tug.org/texlive/trunk@49897 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh')
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh index cb3057c54cd..3dc4953abbb 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-dsalgs.hh @@ -299,24 +299,15 @@ hb_ceil_to_4 (unsigned int v) } template <typename T> struct hb_is_signed; -template <> struct hb_is_signed<signed char> { enum { value = true }; }; -template <> struct hb_is_signed<signed short> { enum { value = true }; }; -template <> struct hb_is_signed<signed int> { enum { value = true }; }; -template <> struct hb_is_signed<signed long> { enum { value = true }; }; -template <> struct hb_is_signed<unsigned char> { enum { value = false }; }; -template <> struct hb_is_signed<unsigned short> { enum { value = false }; }; -template <> struct hb_is_signed<unsigned int> { enum { value = false }; }; -template <> struct hb_is_signed<unsigned long> { enum { value = false }; }; -/* We need to define hb_is_signed for the typedefs we use on pre-Visual - * Studio 2010 for the int8_t type, since __int8/__int64 is not considered - * the same as char/long. The previous lines will suffice for the other - * types, though. Note that somehow, unsigned __int8 is considered same - * as unsigned char. - * https://github.com/harfbuzz/harfbuzz/pull/1499 - */ -#if defined(_MSC_VER) && (_MSC_VER < 1600) -template <> struct hb_is_signed<__int8> { enum { value = true }; }; -#endif +/* https://github.com/harfbuzz/harfbuzz/issues/1535 */ +template <> struct hb_is_signed<int8_t> { enum { value = true }; }; +template <> struct hb_is_signed<int16_t> { enum { value = true }; }; +template <> struct hb_is_signed<int32_t> { enum { value = true }; }; +template <> struct hb_is_signed<int64_t> { enum { value = true }; }; +template <> struct hb_is_signed<uint8_t> { enum { value = false }; }; +template <> struct hb_is_signed<uint16_t> { enum { value = false }; }; +template <> struct hb_is_signed<uint32_t> { enum { value = false }; }; +template <> struct hb_is_signed<uint64_t> { enum { value = false }; }; template <typename T> static inline bool hb_in_range (T u, T lo, T hi) |