From: Florian Weimer Date: Thu, 14 May 2020 10:12:29 +0000 (+0200) Subject: string: Fix string/tst-memmove-overflow to compile with GCC 7 X-Git-Tag: glibc-2.32~334 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4a351924575879fd96bf470f6340157ed560186;p=thirdparty%2Fglibc.git string: Fix string/tst-memmove-overflow to compile with GCC 7 GCC 8 relaxed what kind of expressions can be used in initializers, and the previous use of static const variables relied on that. Switch to wide (non-int) enum constants instead, which is another GCC extension that is more widely implemented. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell --- diff --git a/string/tst-memmove-overflow.c b/string/tst-memmove-overflow.c index 77d693d0dd8..ffbcd043083 100644 --- a/string/tst-memmove-overflow.c +++ b/string/tst-memmove-overflow.c @@ -42,11 +42,11 @@ IMPL (memmove, 1) /* Size of the part of the allocation which is not shared, at the start and the end of the overall allocation. 4 MiB. */ -static const size_t unshared_size = 4U << 20; +enum { unshared_size = (size_t) 4U << 20 }; /* The allocation is 2 GiB plus 8 MiB. This should work with all page sizes that occur in practice. */ -static const size_t allocation_size = (2U << 30) + 2 * unshared_size; +enum { allocation_size = ((size_t) 2U << 30) + 2 * unshared_size }; /* Compute the expected byte at the given index. This is used to produce a non-repeating pattern. */