https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85680
--- Comment #2 from Mathias Stearn <redbeard0531 at gmail dot com> --- FYI, I don't think this is a signed/unsigned thing since it also repros with unsigned long https://godbolt.org/g/LTmrpi My initial repo actually used size_t, but I (incorrectly) changed it to long rather than unsigned long based on past experience that compiler authors prefer repros that don't have any #includes and the (IMO) sad fact that size_t still isn't actually part of the language.