https://gcc.gnu.org/g:96ac78a1b9d077cd22401866a62f26086ef6c2c0

commit r16-4978-g96ac78a1b9d077cd22401866a62f26086ef6c2c0
Author: Ronan Desplanques <[email protected]>
Date:   Thu Oct 9 10:11:43 2025 +0200

    ada: Add missing runtime procedure for CHERI
    
    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.

Diff:
---
 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 aefb8b389caf..9e336f312e92 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;

Reply via email to