1! { dg-do run } 2! Tests the fix for PR29912, in which the call to JETTER 3! would cause a segfault because a temporary was not being written. 4! 5! Contributed by Philip Mason <pmason@ricardo.com> 6! 7 program testat 8 character(len=4) :: ctemp(2) 9 character(len=512) :: temper(2) 10 ! 11 !------------------------ 12 !'This was OK.' 13 !------------------------ 14 temper(1) = 'doncaster' 15 temper(2) = 'uxbridge' 16 ctemp = temper 17 if (any (ctemp /= ["donc", "uxbr"])) call abort () 18 ! 19 !------------------------ 20 !'This went a bit wrong.' 21 !------------------------ 22 ctemp = jetter(1,2) 23 if (any (ctemp /= ["donc", "uxbr"])) call abort () 24 25 contains 26 function jetter(id1,id2) 27 character(len=512) :: jetter(id1:id2) 28 jetter(id1) = 'doncaster' 29 jetter(id2) = 'uxbridge' 30 end function jetter 31 end program testat 32