]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Replace use of LONG_DOUBLE_TYPE_SIZE
authorKewen Lin <linkw@linux.ibm.com>
Wed, 5 Jun 2024 09:22:25 +0000 (04:22 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Wed, 5 Jun 2024 09:22:25 +0000 (04:22 -0500)
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

index f6a4c0631b6398960dc7ed3da34bc1d9a636fb0b..8b72c96c4396acac14b3e2fca7bea83f652edd49 100644 (file)
@@ -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