1! { dg-do run }
2! { dg-options "-std=legacy" }
3!
4! Test of fix to bug triggered by NIST fm908.for.
5! Left tabbing, followed by X or T-tabbing to the right would
6! cause spaces to be overwritten on output data.
7! Contributed by Paul Thomas  <pault@gcc.gnu.org>
8! PR25349 Revised by Jerry DeLisle <jvdelisle@gcc.gnu.org>
9program tl_editting
10  character*10           ::  line, many(5), s
11  character*10           ::  aline = "abcdefxyij"
12  character*2            ::  bline = "gh"
13  character*10           ::  cline = "abcdefghij"
14
15! Character unit test
16  write (line, '(a10,tl6,2x,a2)') aline, bline
17  if (line.ne.cline) call abort ()
18
19! Character array unit test
20  many = "0123456789"
21  write(many(1:5:2), '(a10,tl6,2x,a2)') aline, bline, aline, bline, aline,&
22  &bline
23  if (many(1).ne.cline) call abort ()
24  if (many(3).ne.cline) call abort ()
25  if (many(5).ne.cline) call abort ()
26
27! File unit test
28  write (10, '(a10,tl6,2x,a2)') aline, bline
29  rewind(10)
30  read(10, '(a)') s
31  if (s.ne.cline) call abort
32  close(10, status='delete')
33
34end program tl_editting
35
36