https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61319
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Marek Polacek from comment #10)
> Ah. I hope the following will help:
>
> --- a/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c
> +++ b/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-1.c
> @@ -5,6 +5,16 @@
> #include <limits.h>
> #include "float-cast.h"
>
> +#if !defined LLONG_MAX && defined __LONG_LONG_MAX__
> +# define LLONG_MAX __LONG_LONG_MAX__
> +#endif
> +#if !defined LLONG_MIN && defined __LONG_LONG_MAX__
> +# define LLONG_MIN (-__LONG_LONG_MAX__ - 1LL)
> +#endif
> +#if !defined ULLONG_MAX && defined __LONG_LONG_MAX__
> +# define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
> +#endif
> +
> int
> main (void)
> {
__LONG_LONG_MAX__ is always defined, no need to test for that.