https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110884
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Paul Eggert from comment #3) > > Using (PTRDIFF_MAX < SIZE_MAX ? PTRDIFF_MAX : SIZE_MAX) would work, but is > (as I wrote) awkward. Among other things, the coreutils code uses an enum to > record the size (or -1), and enums can't portably hold values as large as > SIZE_MAX or PTRDIFF_MAX. So we'd have to use a macro instead, and that would > have its own problems. PTRDIFF_MAX is required to be less than SIZE_MAX and is the max size of an array because otherwise a-b would be undefined ...