diff options
author | Bob Duff <duff@adacore.com> | 2020-04-30 14:40:26 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-19 04:17:20 -0400 |
commit | 74d09f3ee936c7e08539beba6f5bb2547b4640b9 (patch) | |
tree | ddfb96dbcec6384d20ca270860592e24de7d14e0 /gcc/ada/libgnat | |
parent | b64bea1830d8fa651843f4e5e5c04263746b06af (diff) | |
download | gcc-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.adb | 21 |
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; ------------------- |