| -- { dg-do run } | |
| -- { dg-options "-O2 -fno-inline" } | |
| procedure Opt2 is | |
| function Get return String is | |
| begin | |
| return "[]"; | |
| end Get; | |
| Message : String := Get; | |
| F, L : Integer; | |
| begin | |
| for J in Message'Range loop | |
| if Message (J) = '[' then | |
| F := J; | |
| elsif Message (J) = ']' then | |
| L := J; | |
| exit; | |
| end if; | |
| end loop; | |
| declare | |
| M : String := | |
| Message (Message'First .. F) & Message (L .. Message'Last); | |
| begin | |
| if M /= "[]" then | |
| raise Program_Error; | |
| end if; | |
| end; | |
| end; |