1! { dg-do run } 2! 3! PR fortran/47421 4! 5! Don't auto-deallocatable scalar character allocatables. 6! 7implicit none 8character(len=5), allocatable :: str 9allocate(str) 10str = '1bcde' 11if(str /= '1bcde') call abort() 12call sub(str,len(str)) 13if(str /= '1bcde') call abort() 14call subOUT(str,len(str)) 15if (len(str) /= 5) call abort() 16if(allocated(str)) call abort() 17contains 18 subroutine sub(x,n) 19 integer :: n 20 character(len=n), allocatable :: x 21 if(len(x) /= 5) call abort() 22 if(x /= '1bcde') call abort() 23 end subroutine sub 24 subroutine subOUT(x,n) 25 integer :: n 26 character(len=n), allocatable,intent(out) :: x 27 if(allocated(x)) call abort() 28 if(len(x) /= 5) call abort() 29 end subroutine subOUT 30end 31