https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94911
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Marc Glisse from comment #1) > gcc computes sizeof(a) as 4ul*(size_t)n, and unsigned types don't provide > nice overflow guarantees, so that complicates things. While the C++ front-end does: (sizetype) ((ssizetype) n + -1) + 1) * 4)