! { dg-do compile } ! { dg-require-effective-target lp64 } ! { dg-require-effective-target fortran_integer_16 } program main implicit none integer(kind=16), parameter :: l1 = 2_16**64_16 character (len=2_16**64_16+4_16), parameter :: s = "" ! { dg-error "too large" } character (len=2_16**64_8+4_16) :: ch ! { dg-error "too large" } character (len=l1 + 1_16) :: v ! { dg-error "too large" } character (len=int(huge(0_8),kind=16) + 1_16) :: z ! { dg-error "too large" } character (len=int(huge(0_8),kind=16) + 0_16) :: w print *, len(s) end program main