aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat
diff options
context:
space:
mode:
authorBob Duff <duff@adacore.com>2020-04-30 14:40:26 -0400
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-19 04:17:20 -0400
commit74d09f3ee936c7e08539beba6f5bb2547b4640b9 (patch)
treeddfb96dbcec6384d20ca270860592e24de7d14e0 /gcc/ada/libgnat
parentb64bea1830d8fa651843f4e5e5c04263746b06af (diff)
downloadgcc-74d09f3ee936c7e08539beba6f5bb2547b4640b9.zip
gcc-74d09f3ee936c7e08539beba6f5bb2547b4640b9.tar.gz
gcc-74d09f3ee936c7e08539beba6f5bb2547b4640b9.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".
Diffstat (limited to 'gcc/ada/libgnat')
-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;
-------------------