blob: 41c65b10bcde46a5de53ed39b6c22fc2576d1335 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
! { dg-do run }
! PR 47065 - make sure that trim optimization does not lead to
! wrong-code with aliasing.
! Test case provided by Tobias Burnus.
program main
character(len=12) :: str
str = '1234567890'
call sub(trim(str), str)
! Should print '12345 '
if (str /= '12345 ') call abort
call two(trim(str))
if (str /= '123 ') call abort
contains
subroutine sub(a,b)
character(len=*), intent(in) :: a
character(len=*), intent(out) :: b
b = ''
b = a(1:5)
end subroutine sub
subroutine two(a)
character(len=*), intent(in) :: a
str = ''
str(1:3) = a(1:3)
end subroutine two
end program main
|