1! { dg-do run }
2!
3! Tests the fix for PR64933
4!
5! Contributed by Olivier Marsden  <olivier.marsden@ecmwf.int>
6!
7program test_this
8  implicit none
9  character(len = 15) :: char_var, char_var_dim (3)
10  character(len = 80) :: buffer
11
12! Original failing case reported in PR
13  ASSOCIATE(should_work=>char_var)
14    should_work = "test succesful"
15    write (buffer, *) should_work(5:14)
16  END ASSOCIATE
17
18  if (trim (buffer) .ne. "  succesful") STOP 1
19
20! Found to be failing during debugging
21  ASSOCIATE(should_work=>char_var_dim)
22    should_work = ["test SUCCESFUL", "test_SUCCESFUL", "test.SUCCESFUL"]
23    write (buffer, *) should_work(:)(5:14)
24  END ASSOCIATE
25
26  if (trim (buffer) .ne. "  SUCCESFUL_SUCCESFUL.SUCCESFUL") STOP 2
27
28! Found to be failing during debugging
29  ASSOCIATE(should_work=>char_var_dim(1:2))
30    should_work = ["test SUCCESFUL", "test_SUCCESFUL"]
31    write (buffer, *) should_work(:)(5:14)
32  END ASSOCIATE
33
34  if (trim (buffer) .ne. "  SUCCESFUL_SUCCESFUL") STOP 3
35
36end program
37