https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83705
--- Comment #4 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- With integer(8), parameter :: n=2_8**31 - 1_8 I get (compilation time ~4 minutes) 2147483647 'xxx', 'xxx' With integer(8), parameter :: n=2_8**32 I get (compilation time ~4 minutes) 4294967296 '', '' For n=2_8**31 and n=2_8**32-1, the compilation did not finished in more than hour and I gave up). Is there a way to check that the type of expr->value.character.length in gfc_conv_substring_expr (fortran/trans-expr.c) is gfc_charlen_t?