aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/krunch.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/krunch.adb')
-rw-r--r--gcc/ada/krunch.adb19
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;