diff --git a/src/hb-private.hh b/src/hb-private.hh index 5cec8e0b4..6893bfd35 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -84,6 +84,10 @@ extern "C" void hb_free_impl(void *ptr); #define nullptr NULL #endif +#ifndef constexpr +#define constexpr const +#endif + // Static assertions #ifndef static_assert #define static_assert(e, msg) \ @@ -98,6 +102,20 @@ extern "C" void hb_free_impl(void *ptr); #define thread_local #endif +#ifndef alignof +#define alignof(x) _hb_alignof::value; +template +struct _hb_alignof +{ + struct s + { + char c; + T t; + }; + static constexpr unsigned int value = offsetof (s, t); +}; +#endif // alignof + #endif // __cplusplus < 201103L #if (defined(__GNUC__) || defined(__clang__)) && defined(__OPTIMIZE__)