https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77941
--- Comment #7 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Thu, Mar 22, 2018 at 07:53:14AM +0000, jb at gcc dot gnu.org wrote: > > It works on x86_64-pc-linux-gnu (including running it), but the ICE remains on > i686-pc-linux-gnu. > Janne, thanks for checking. 2_8**32+1 is 4GB+1byte of memory. Without PAE, i686 is limited to less than 4GB once an OS grabs a small portion of wired memory. Do we care if an ICE occurs? I suppose one could always check that a length type parameter less than some max integer based on 32-bit vs 64-bit system, but that would pessimize all uses of strings as this would need to be a runtime check.