1! { dg-do run }
2! { dg-options "-std=legacy" }
3!
4! PR middle-end/19543
5program logical_1
6  implicit none
7  logical(1), parameter :: t1 = .TRUE., f1 = .FALSE.
8  logical(2), parameter :: t2 = .TRUE., f2 = .FALSE.
9  logical(4), parameter :: t4 = .TRUE., f4 = .FALSE.
10  logical(8), parameter :: t8 = .TRUE., f8 = .FALSE.
11  character*2 :: t(4), f(4)
12
13  write(t(1),*) t1
14  write(f(1),*) f1
15  write(t(2),*) t2
16  write(f(2),*) f2
17  write(t(3),*) t4
18  write(f(3),*) f4
19  write(t(4),*) t8
20  write(f(4),*) f8
21
22  if (any(t .ne. " T")) call abort
23  if (any(f .ne. " F")) call abort
24end
25