From: Ronan Desplanques <[email protected]>
A recent patch added a procedure in the spec of System.Stream_Attributes
but failed to add the corresponding body in the CHERI-specific body of
this package. This patch fixes this.
gcc/ada/ChangeLog:
* libgnat/s-stratt__cheri.adb (W_80IEEE): New procedure.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/libgnat/s-stratt__cheri.adb | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/gcc/ada/libgnat/s-stratt__cheri.adb
b/gcc/ada/libgnat/s-stratt__cheri.adb
index aefb8b389ca..9e336f312e9 100644
--- a/gcc/ada/libgnat/s-stratt__cheri.adb
+++ b/gcc/ada/libgnat/s-stratt__cheri.adb
@@ -1016,4 +1016,21 @@ package body System.Stream_Attributes is
Ada.Streams.Write (Stream.all, From_WWC (Item));
end W_WWC;
+ procedure W_80IEEE (Stream : not null access RST; Item : Long_Long_Float) is
+ begin
+ if XDR_Support then
+ XDR.W_LLF (Stream, Item);
+ return;
+ end if;
+
+ declare
+ X : S_LLF := From_LLF (Item);
+
+ N_IEEE_Extended_Precision_Bytes : constant := 10;
+ begin
+ X (N_IEEE_Extended_Precision_Bytes + 1 .. X'Last) := (others => 0);
+ Ada.Streams.Write (Stream.all, X);
+ end;
+ end W_80IEEE;
+
end System.Stream_Attributes;
--
2.51.0