diff options
Diffstat (limited to 'gcc/ada/krunch.adb')
-rw-r--r-- | gcc/ada/krunch.adb | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/gcc/ada/krunch.adb b/gcc/ada/krunch.adb index 8ed239e..f698d88 100644 --- a/gcc/ada/krunch.adb +++ b/gcc/ada/krunch.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2020, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2021, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -92,15 +92,16 @@ begin Startloc := 3; Buffer (2 .. Len - 5) := Buffer (7 .. Len); Curlen := Len - 5; - if Buffer (Curlen - 2 .. Curlen) = "128" - or else Buffer (3 .. 9) = "exn_lll" - or else Buffer (3 .. 9) = "exp_lll" - or else Buffer (3 .. 9) = "img_lll" - or else Buffer (3 .. 9) = "val_lll" - or else Buffer (3 .. 9) = "wid_lll" - or else (Buffer (3 .. 6) = "pack" and then Curlen = 10) + if (Curlen >= 3 and then Buffer (Curlen - 2 .. Curlen) = "128") + or else (Len >= 9 and then + (Buffer (3 .. 9) = "exn_lll" + or else Buffer (3 .. 9) = "exp_lll" + or else Buffer (3 .. 9) = "img_lll" + or else Buffer (3 .. 9) = "val_lll" + or else Buffer (3 .. 9) = "wid_lll")) + or else (Curlen = 10 and then Buffer (3 .. 6) = "pack") then - if Buffer (3 .. 15) = "compare_array" then + if Len >= 15 and then Buffer (3 .. 15) = "compare_array" then Buffer (3 .. 4) := "ca"; Buffer (5 .. Curlen - 11) := Buffer (16 .. Curlen); Curlen := Curlen - 11; |