[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:
parent
e176456cfe
commit
8b4a84388c
1 changed files with 6 additions and 7 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue