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