PR21881 is about cases like this: > type t > integer i001(268435456) > end type t > type(t), allocatable :: x(:)
where (on 32-bit systems) the array in the derived type is too large for us to handle (the array descriptor redesign might make the problem go away altogether, but that's not for now AFAIU). So, the attached patch simply turns the ICE into a fatal error. The error being fatal, it doesn't trigger double errors as far as I could check. I'm not adding a testcase, though I could if you think that's necessary. Regtested on x86_64-linux, OK to commit to trunk? FX
diag.diff
Description: Binary data
diag.ChangeLog
Description: Binary data