diff options
author | John Högberg <[email protected]> | 2017-07-10 09:45:06 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2017-07-10 09:45:06 +0200 |
commit | f934a632ba55be8a12e8eefddf388713b2514882 (patch) | |
tree | 0ef8b0e576b0fdeda485c5df8bb2cd067289ccab | |
parent | b805af3e618175ac78b39ce6f60aa6d63e865198 (diff) | |
parent | 125b98ecc43a90a3a3fbe0a79c12ef798893e9cf (diff) | |
download | otp-f934a632ba55be8a12e8eefddf388713b2514882.tar.gz otp-f934a632ba55be8a12e8eefddf388713b2514882.tar.bz2 otp-f934a632ba55be8a12e8eefddf388713b2514882.zip |
Merge pull request #1505 from mikpe/erts-alignment
erts: ensure alignment of VM core types
-rw-r--r-- | erts/emulator/beam/sys.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/erts/emulator/beam/sys.h b/erts/emulator/beam/sys.h index e8615d1140..1e09752d87 100644 --- a/erts/emulator/beam/sys.h +++ b/erts/emulator/beam/sys.h @@ -327,9 +327,9 @@ __decl_noreturn void __noreturn erl_assert_error(const char* expr, const char *f #endif #if SIZEOF_VOID_P == SIZEOF_LONG -typedef unsigned long Eterm; -typedef unsigned long Uint; -typedef long Sint; +typedef unsigned long Eterm erts_align_attribute(sizeof(long)); +typedef unsigned long Uint erts_align_attribute(sizeof(long)); +typedef long Sint erts_align_attribute(sizeof(long)); #define SWORD_CONSTANT(Const) Const##L #define UWORD_CONSTANT(Const) Const##UL #define ERTS_UWORD_MAX ULONG_MAX @@ -337,9 +337,9 @@ typedef long Sint; #define ERTS_SIZEOF_ETERM SIZEOF_LONG #define ErtsStrToSint strtol #elif SIZEOF_VOID_P == SIZEOF_INT -typedef unsigned int Eterm; -typedef unsigned int Uint; -typedef int Sint; +typedef unsigned int Eterm erts_align_attribute(sizeof(int)); +typedef unsigned int Uint erts_align_attribute(sizeof(int)); +typedef int Sint erts_align_attribute(sizeof(int)); #define SWORD_CONSTANT(Const) Const #define UWORD_CONSTANT(Const) Const##U #define ERTS_UWORD_MAX UINT_MAX @@ -347,9 +347,9 @@ typedef int Sint; #define ERTS_SIZEOF_ETERM SIZEOF_INT #define ErtsStrToSint strtol #elif SIZEOF_VOID_P == SIZEOF_LONG_LONG -typedef unsigned long long Eterm; -typedef unsigned long long Uint; -typedef long long Sint; +typedef unsigned long long Eterm erts_align_attribute(sizeof(long long)); +typedef unsigned long long Uint erts_align_attribute(sizeof(long long)); +typedef long long Sint erts_align_attribute(sizeof(long long)); #define SWORD_CONSTANT(Const) Const##LL #define UWORD_CONSTANT(Const) Const##ULL #define ERTS_UWORD_MAX ULLONG_MAX |