| -- { dg-do run } | |
| -- { dg-options "-O" } | |
| procedure string_slice is | |
| subtype Key_T is String (1 .. 3); | |
| function One_Xkey return Key_T is | |
| Key : Key_T := "XXX"; | |
| begin | |
| Key (1 .. 2) := "__"; | |
| return Key; | |
| end; | |
| Key : Key_T := One_Xkey; | |
| begin | |
| if Key (3) /= 'X' then | |
| raise Program_Error; | |
| end if; | |
| end; |