1! { dg-do run } 2! { dg-options "-fbounds-check" } 3! 4! PR fortran/27997 5! 6! Array constructor with typespec. 7! 8program test 9 character(15) :: a(3) 10 character(10), volatile :: b(3) 11 b(1) = 'Takata' 12 b(2) = 'Tanaka' 13 b(3) = 'Hayashi' 14 15 a = (/ character(len=7) :: trim(b(1)), trim(b(2)), trim(b(3)) /) 16 if (a(1) /= 'Takata' .or. a(2) /= 'Tanaka' .or. a(3) /= 'Hayashi') then 17 call abort () 18 end if 19 20 a = (/ character(len=2) :: trim(b(1)), trim(b(2)), trim(b(3)) /) 21 if (a(1) /= 'Ta' .or. a(2) /= 'Ta' .or. a(3) /= 'Ha') then 22 call abort () 23 end if 24 25 a = (/ character(len=8) :: trim(b(1)), trim(b(2)), trim(b(3)) /) 26 if (a(1) /= 'Takata' .or. a(2) /= 'Tanaka' .or. a(3) /= 'Hayashi') then 27 call abort () 28 end if 29 30end program test 31