Joseph pointed out "floating types should have their mode,
not a poorly defined precision value" in the discussion[1],
as he and Richi suggested, the existing macros
{FLOAT,{,LONG_}DOUBLE}_TYPE_SIZE will be replaced with a
hook mode_for_floating_type.  To be prepared for that, this
patch is to replace use of LONG_DOUBLE_TYPE_SIZE in ada
with TYPE_PRECISION of long_double_type_node.

[1] https://gcc.gnu.org/pipermail/gcc-patches/2024-May/651209.html

gcc/ada/ChangeLog:

        * gcc-interface/decl.cc (gnat_to_gnu_entity): Use TYPE_PRECISION of
        long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE.
---
 gcc/ada/gcc-interface/decl.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index f6a4c0631b6..8b72c96c439 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -520,7 +520,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, 
bool definition)
          esize = UI_To_Int (Esize (gnat_entity));
 
          if (IN (kind, Float_Kind))
-           max_esize = fp_prec_to_size (LONG_DOUBLE_TYPE_SIZE);
+           max_esize
+             = fp_prec_to_size (TYPE_PRECISION (long_double_type_node));
          else if (IN (kind, Access_Kind))
            max_esize = POINTER_SIZE * 2;
          else
-- 
2.43.0

Reply via email to