1! { dg-do compile }
2!
3program main
4  implicit none
5  integer(kind=8), parameter :: l1 = 2_8**32_8
6  character (len=2_8**32_8+4_8), parameter :: s = "" ! { dg-error "too large" }
7  character (len=2_8**32_8+4_8) :: ch ! { dg-error "too large" }
8  character (len=l1 + 1_8) :: v ! { dg-error "too large" }
9  character (len=int(huge(0_4),kind=8) + 1_8) :: z ! { dg-error "too large" }
10  character (len=int(huge(0_4),kind=8) + 0_8) :: w
11
12  print *, len(s)
13
14end program main
15