1! { dg-do run } 2! { dg-options "-O -fdump-tree-original" } 3! PR 40628 - optimize unnecessary TRIMs on assignment 4program main 5 character(len=3) :: a 6 character(len=4) :: b,c 7 b = 'abcd' 8 a = trim(b) 9 c = trim(trim(a)) 10 if (a /= 'abc') call abort 11 if (c /= 'abc') call abort 12end program main 13 14! { dg-final { scan-tree-dump-times "memmove" 3 "original" } } 15! { dg-final { scan-tree-dump-times "string_trim" 0 "original" } } 16! { dg-final { cleanup-tree-dump "original" } } 17