Consistently use >= operator in both the code and contracts of
function/procedure Overwrite, to facilitate proof, instead of the strict
inequality > sometimes, as only New_Item remains in the result in the
case of equal size too.
gcc/ada/
* libgnat/a-strbou.ads (Overwrite): Switch to >= operator in
contracts.
* libgnat/a-strsup.adb (Super_Overwrite): Switch to >= operator
in code of procedure (function already uses it).
* libgnat/a-strsup.ads (Super_Overwrite): Switch to >= operator
in contracts.
-- some characters of Source are remaining at the left.
and then
- (if New_Item'Length > Max_Length then
+ (if New_Item'Length >= Max_Length then
-- New_Item covers all Max_Length characters
-- some characters of Source are remaining at the left.
and then
- (if New_Item'Length > Max_Length then
+ (if New_Item'Length >= Max_Length then
-- New_Item covers all Max_Length characters
(New_Item (New_Item'First .. New_Item'Last - Droplen));
when Strings.Left =>
- if New_Item'Length > Max_Length then
+ if New_Item'Length >= Max_Length then
Source.Data (1 .. Max_Length) := Super_String_Data
(New_Item
(New_Item'Last - Max_Length + 1 .. New_Item'Last));
-- Source are remaining at the left.
and then
- (if New_Item'Length > Source.Max_Length then
+ (if New_Item'Length >= Source.Max_Length then
-- New_Item covers all Max_Length characters
-- Source are remaining at the left.
and then
- (if New_Item'Length > Source.Max_Length then
+ (if New_Item'Length >= Source.Max_Length then
-- New_Item covers all Max_Length characters