From f0539a7914cba3b7de76665a74edb90e30f2dbc9 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 14 Aug 2019 09:52:48 +0000 Subject: [PATCH] [Ada] Further cleanup in inlining machinery This is visible if you pass a very small number by means of -gnateinn. 2019-08-14 Eric Botcazou gcc/ada/ * inline.adb (Add_Pending_Instantiation): Fix off-by-one error in the comparison against the maximum number of instantiations. From-SVN: r274472 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/inline.adb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a8de8110586..61c22fd146a 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-08-14 Eric Botcazou + + * inline.adb (Add_Pending_Instantiation): Fix off-by-one error + in the comparison against the maximum number of instantiations. + 2019-08-14 Eric Botcazou * inline.adb (Add_Pending_Instantiation): Use greater-or-equal diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb index 15cec5158a3..84ad1abe918 100644 --- a/gcc/ada/inline.adb +++ b/gcc/ada/inline.adb @@ -794,7 +794,7 @@ package body Inline is -- Here is a defense against a ludicrous number of instantiations -- caused by a circular set of instantiation attempts. - if Pending_Instantiations.Last >= Maximum_Instantiations then + if Pending_Instantiations.Last + 1 >= Maximum_Instantiations then Error_Msg_Uint_1 := UI_From_Int (Maximum_Instantiations); Error_Msg_N ("too many instantiations, exceeds max of^", Inst); Error_Msg_N ("\limit can be changed using -gnateinn switch", Inst); -- 2.30.2