From: Martin Date: Wed, 27 May 2020 18:26:51 +0000 (+0100) Subject: Tweak the use of static_assert to support older compilers. (#4536) X-Git-Tag: cvc5-1.0.0~3284 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=449cf281987eb8a2d43a572817db5c870a010c08;p=cvc5.git Tweak the use of static_assert to support older compilers. (#4536) C++11 introduces static_assert(bool, string). C++17 introduces static_assert(bool) By adding a message we can support older compilers such as those used by our nightly build system... --- diff --git a/src/util/floatingpoint.cpp b/src/util/floatingpoint.cpp index 3bcf2b0de..f5545f73c 100644 --- a/src/util/floatingpoint.cpp +++ b/src/util/floatingpoint.cpp @@ -925,7 +925,8 @@ static FloatingPointLiteral constructorHelperBitVector( // We only have multiplyByPow(uint32_t) so we can't convert all numbers. // As we convert Integer -> unsigned int -> uint32_t we need that // unsigned int is not smaller than uint32_t - static_assert(sizeof(unsigned int) >= sizeof(uint32_t)); + static_assert(sizeof(unsigned int) >= sizeof(uint32_t), + "Conversion float -> real could loose data"); #ifdef CVC4_ASSERTIONS // Note that multipling by 2^n requires n bits of space (worst case) // so, in effect, these tests limit us to cases where the resultant