aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2020-04-30 14:40:26 -0400
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 13:14:09 -0300
commit23832bc7f13e9a430418a9096c768420c71e842c (patch)
tree8742b5c117f3d8de0d3c833a2458ec67dd93a890
parentf5bacfbb585fdbde5678170b9553308a1f6eb935 (diff)
downloadgcc-23832bc7f13e9a430418a9096c768420c71e842c.zip
gcc-23832bc7f13e9a430418a9096c768420c71e842c.tar.gz
gcc-23832bc7f13e9a430418a9096c768420c71e842c.tar.bz2
[Ada] AI12-0293-1 Remove pragma Assert
2020-06-19 Bob Duff <duff@adacore.com> gcc/ada/ * libgnat/a-ststbo.adb (Write): Replace pragma Assert with "if ... raise Constraint_Error".
-rw-r--r--gcc/ada/libgnat/a-ststbo.adb21
1 files changed, 12 insertions, 9 deletions
diff --git a/gcc/ada/libgnat/a-ststbo.adb b/gcc/ada/libgnat/a-ststbo.adb
index 3b31acc..4bd3c17 100644
--- a/gcc/ada/libgnat/a-ststbo.adb
+++ b/gcc/ada/libgnat/a-ststbo.adb
@@ -79,16 +79,19 @@ package body Ada.Streams.Storage.Bounded is
overriding procedure Write
(Stream : in out Stream_Type; Item : Stream_Element_Array)
is
- pragma Assert
- (Element_Count (Stream) + Item'Length <= Stream.Max_Elements
- or else (raise Constraint_Error));
- -- That is a precondition in the RM
-
- New_Count : constant Stream_Element_Count :=
- Element_Count (Stream) + Item'Length;
begin
- Stream.Elements (Element_Count (Stream) + 1 .. New_Count) := Item;
- Stream.Count := New_Count;
+ if Element_Count (Stream) + Item'Length > Stream.Max_Elements then
+ -- That is a precondition in the RM
+ raise Constraint_Error;
+ end if;
+
+ declare
+ New_Count : constant Stream_Element_Count :=
+ Element_Count (Stream) + Item'Length;
+ begin
+ Stream.Elements (Element_Count (Stream) + 1 .. New_Count) := Item;
+ Stream.Count := New_Count;
+ end;
end Write;
-------------------