Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/c-c++-common/ubsan/float-cast.h @ 152:2b5abeee2509
update gcc11
author | anatofuz |
---|---|
date | Mon, 25 May 2020 07:50:57 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Various macros for -fsanitize=float-cast-overflow testing. */ /* E.g. on CentOS 5 these aren't defined in limits.h. */ #ifndef LLONG_MAX # define LLONG_MAX __LONG_LONG_MAX__ #endif #ifndef LLONG_MIN # define LLONG_MIN (-__LONG_LONG_MAX__ - 1LL) #endif #ifndef ULLONG_MAX # define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL) #endif #define INT128_MAX (__int128) (((unsigned __int128) 1 << ((__SIZEOF_INT128__ * __CHAR_BIT__) - 1)) - 1) #define INT128_MIN (-INT128_MAX - 1) #define UINT128_MAX ((2 * (unsigned __int128) INT128_MAX) + 1) #define CHECK_BOUNDARY(VAR, VAL) \ (VAR) = (VAL) - 5.0; \ (VAR) = (VAL) - 1.5; \ (VAR) = (VAL) - 1.0; \ (VAR) = (VAL) - 0.75; \ (VAR) = (VAL) - 0.5; \ (VAR) = (VAL) - 0.0000001; \ (VAR) = (VAL) - 0.0; \ (VAR) = (VAL); \ (VAR) = (VAL) + 0.0; \ (VAR) = (VAL) + 0.0000001; \ (VAR) = (VAL) + 0.5; \ (VAR) = (VAL) + 0.75; \ (VAR) = (VAL) + 1.0; \ (VAR) = (VAL) + 1.5; \ (VAR) = (VAL) + 5.0; #define CHECK_NONNUMBERS(VAR) \ (VAR) = nan; \ (VAR) = -nan; \ (VAR) = inf; \ (VAR) = -inf;