Move _hb_alignof later again

It uses constexpr...
This commit is contained in:
Behdad Esfahbod 2018-07-11 17:27:23 +02:00
parent f3a74c16ec
commit 2aae617a84
1 changed files with 13 additions and 13 deletions

View File

@ -84,19 +84,9 @@ extern "C" int hb_memalign_impl(void **memptr, size_t alignment, size_t size);
#endif #endif
/* Compiler attributes */ /*
* Compiler attributes
* */
template <typename T>
struct _hb_alignof
{
struct s
{
char c;
T t;
};
static constexpr size_t value = offsetof (s, t);
};
#if __cplusplus < 201103L #if __cplusplus < 201103L
@ -122,6 +112,16 @@ struct _hb_alignof
#define thread_local #define thread_local
#endif #endif
template <typename T>
struct _hb_alignof
{
struct s
{
char c;
T t;
};
static constexpr size_t value = offsetof (s, t);
};
#ifndef alignof #ifndef alignof
#define alignof(x) (_hb_alignof<x>::value) #define alignof(x) (_hb_alignof<x>::value)
#endif // alignof #endif // alignof