Avoid wrong-order initialization on big endian

pull/1124/head
Jason Rhinelander 4 years ago
parent 2093f94244
commit 3fedd5ba6b

@ -23,18 +23,24 @@ namespace llarp
#endif
// Initializes with 0s
constexpr uint128_t() : lower{0}, upper{0}
constexpr uint128_t() : uint128_t{0, 0}
{
}
// Initializes with least-significant value
constexpr uint128_t(uint64_t lower) : lower{lower}, upper{0}
constexpr uint128_t(uint64_t lower) : uint128_t{0, lower}
{
}
// Initializes with upper and lower values
constexpr uint128_t(uint64_t upper, uint64_t lower)
// clang-format off
#ifdef __BIG_ENDIAN__
: upper{upper}, lower{lower}
#else
: lower{lower}, upper{upper}
#endif
// clang-format on
{
}

Loading…
Cancel
Save