1! { dg-do compile }
2! PR fortran/30799
3! Inconsistent handling of bad (invalid) LOGICAL kinds
4! Reporter: Harald Anlauf <anlauf@gmx.de>
5! Testcase altered by Steven G. Kargl
6program gfcbug57
7  implicit none
8  !
9  ! These are logical kinds known by gfortran and many other compilers:
10  !
11  print *, kind (.true._1) ! This prints "1"
12  print *, kind (.true._2) ! This prints "2"
13  print *, kind (.true._4) ! This prints "4"
14  print *, kind (.true._8) ! This prints "8"
15  !
16  ! These are very strange (read: bad (invalid?)) logical kinds,
17  ! handled inconsistently by gfortran (there's no logical(kind=0) etc.)
18  !
19  print *, kind (.true._0)   ! { dg-error "kind for logical constant" }
20  print *, kind (.true._3)   ! { dg-error "kind for logical constant" }
21  print *, kind (.true._123) ! { dg-error "kind for logical constant" }
22  !
23  ! Here gfortran bails out with a runtime error:
24  !
25  print *, .true._3   ! { dg-error "kind for logical constant" }
26end program gfcbug57
27