diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index 98c15db3c..8feb17747 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -116,10 +116,12 @@ inline uint64_t next_highest_power_of_2(uint64_t v) // gives a duplicate symbol error. inline size_t next_highest_power_of_2(size_t v) { -#if sizeof(size_t) == sizeof(uint32_t) - return next_highest_power_of_2(uint32_t(v)); -#else +#if SSIZE_MAX == 9223372036854775807 + static_assert(sizeof(size_t) == sizeof(uint64_t)); return next_highest_power_of_2(uint64_t(v)); +#else + static_assert(sizeof(size_t) == sizeof(uint32_t)); + return next_highest_power_of_2(uint32_t(v)); #endif } #endif