string: Fix string/tst-memmove-overflow to compile with GCC 7
authorFlorian Weimer <fweimer@redhat.com>
Thu, 14 May 2020 10:12:29 +0000 (12:12 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 14 May 2020 16:51:49 +0000 (18:51 +0200)
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 <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
string/tst-memmove-overflow.c

index 77d693d..ffbcd04 100644 (file)
@@ -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.  */