libgfortran: Fix bootstrap on targets without static_assert macro.

Although we build the library with GCC which is known to support
_Static_assert this might be done on a system without the macro
mapping static_assert to the compiler keyword.

The use of static_assert introduced with r12-6126-g3430132f3e82
causes bootstrap to fail on such targets, fixed by using the keyword
directly.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

libgfortran/ChangeLog:

	* runtime/string.c (gfc_itoa): Use _Static_assert directly
	instead of via the static_assert macro.
This commit is contained in:
Iain Sandoe 2021-12-31 11:52:22 +00:00
parent d9da496a82
commit e3cbb8c66c

View File

@ -242,8 +242,8 @@ gfc_itoa (GFC_UINTEGER_LARGEST n, char *buffer, size_t len)
integers (we would need three calls), but they do suffice for all
values up to 2^127, which is the largest that Fortran can produce
(-HUGE(0_16)-1) with its signed integer types. */
static_assert(sizeof(GFC_UINTEGER_LARGEST) <= 2 * sizeof(uint64_t),
"integer too large");
_Static_assert (sizeof(GFC_UINTEGER_LARGEST) <= 2 * sizeof(uint64_t),
"integer too large");
GFC_UINTEGER_LARGEST r;
r = n % TEN19;