From: Richard Biener Date: Fri, 28 Mar 2025 07:52:16 +0000 (+0100) Subject: [COBOL] use native_encode_real X-Git-Tag: basepoints/gcc-16~549 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b4a84388c7ef9c441491b9c258212b3c2318ee3;p=thirdparty%2Fgcc.git [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. --- diff --git a/gcc/cobol/genapi.cc b/gcc/cobol/genapi.cc index 032236b15db..bc915338158 100644 --- a/gcc/cobol/genapi.cc +++ b/gcc/cobol/genapi.cc @@ -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;