1! { dg-do run } 2! { dg-options "-fdump-tree-original" } 3! PR12456 - Optimize string(k:k) as single character. 4 5Program pr12456 6character a 7character b 8character (len=5) :: c 9integer i 10 11b = 'a' 12a = b 13if (a .ne. 'a') call abort() 14if (a .ne. b) call abort() 15c (3:3) = 'a' 16if (c (3:3) .ne. b) call abort () 17if (c (3:3) .ne. 'a') call abort () 18if (LGT (a, c (3:3))) call abort () 19if (LGT (a, 'a')) call abort () 20 21i = 3 22c (i:i) = 'a' 23if (c (i:i) .ne. b) call abort () 24if (c (i:i) .ne. 'a') call abort () 25if (LGT (a, c (i:i))) call abort () 26 27if (a .gt. char (255)) call abort () 28end 29 30! There should not be _gfortran_compare_string and _gfortran_copy_string in 31! the dumped file. 32 33! { dg-final { scan-tree-dump-times "_gfortran_compare_string" 0 "original" } } 34! { dg-final { scan-tree-dump-times "_gfortran_copy_string" 0 "original" } } 35 36! { dg-final { cleanup-tree-dump "original" } } 37