diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/opt2.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/opt2.adb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/opt2.adb b/gcc/testsuite/gnat.dg/opt2.adb new file mode 100644 index 000000000..a6c247fdb --- /dev/null +++ b/gcc/testsuite/gnat.dg/opt2.adb @@ -0,0 +1,31 @@ +-- { 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; |