提交 bca83618 编写于 作者: B Behdad Esfahbod

Add fallback implementation for constexpr and alignof

上级 7cb47d0f
......@@ -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<x>::value;
template <typename T>
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__)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册