1! { dg-do compile } 2! 3subroutine foo(i) 4 implicit none 5 integer, intent(in) :: i 6 character(len=i) :: s 7 8 s = '' 9 print *, s(1:2_8**32_8+3_8) ! { dg-error "too large" } 10 print *, s(2_8**32_8+3_8:2_8**32_8+4_8) ! { dg-error "too large" } 11 print *, len(s(1:2_8**32_8+3_8)) ! { dg-error "too large" } 12 print *, len(s(2_8**32_8+3_8:2_8**32_8+4_8)) ! { dg-error "too large" } 13 14 print *, s(2_8**32_8+3_8:1) 15 print *, s(2_8**32_8+4_8:2_8**32_8+3_8) 16 print *, len(s(2_8**32_8+3_8:1)) 17 print *, len(s(2_8**32_8+4_8:2_8**32_8+3_8)) 18 19end subroutine 20