[COBOL] use native_encode_real

The following avoids the round-trip through a newly built tree and
instead directly uses the now exported native_encode_real.

gcc/cobol/
	* genapi.cc (initial_from_float128): Use native_encode_real.
This commit is contained in:
Richard Biener 2025-03-28 08:52:16 +01:00 committed by Richard Biener
parent e176456cfe
commit 8b4a84388c

View file

@ -15680,24 +15680,23 @@ initial_from_float128(cbl_field_t *field)
case FldFloat:
{
tree tem;
retval = (char *)xmalloc(field->data.capacity);
switch( field->data.capacity )
{
case 4:
value = real_value_truncate (TYPE_MODE (FLOAT), value);
tem = build_real (FLOAT, value);
native_encode_expr (tem, (unsigned char *)retval, 4, 0);
native_encode_real (SCALAR_FLOAT_TYPE_MODE (FLOAT), &value,
(unsigned char *)retval, 4, 0);
break;
case 8:
value = real_value_truncate (TYPE_MODE (DOUBLE), value);
tem = build_real (DOUBLE, value);
native_encode_expr (tem, (unsigned char *)retval, 8, 0);
native_encode_real (SCALAR_FLOAT_TYPE_MODE (DOUBLE), &value,
(unsigned char *)retval, 8, 0);
break;
case 16:
value = real_value_truncate (TYPE_MODE (FLOAT128), value);
tem = build_real (FLOAT128, value);
native_encode_expr (tem, (unsigned char *)retval, 16, 0);
native_encode_real (SCALAR_FLOAT_TYPE_MODE (FLOAT128), &value,
(unsigned char *)retval, 16, 0);
break;
}
break;