vxworks float EFs not precise enough -> use long float
authorAlexandre Oliva <oliva@adacore.com>
Thu, 22 Oct 2020 05:32:10 +0000 (02:32 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Thu, 22 Oct 2020 05:32:10 +0000 (02:32 -0300)
commitc0baff9be34ac1db1b42fd5fa0af930dd9b5441f
tree5a2be2c55aa775419b047223b29a34a708ea0edc
parent9f4e1d10ebe515180dd90b9dd208c71f53911cfd
vxworks float EFs not precise enough -> use long float

Some acats-4 tests that check the precision of Float elementary
functions fail with vxworks 7.2's implementations of single-precision
math functions.

This patch arranges for us to bypass the single-precision functions,
and use the Aux_Long_Float implementation, based on the double-typed
calls from the C library, for Float and Short_Float.

for  gcc/ada/ChangeLog

* Makefile.rtl (LIBGNAT_TARGET_PAIRS): Use Long Float-based
variant of Aux_Short_Float and Aux_Float on vxworks targets.
* libgnat/a-nashfl__wraplf.ads: New.
* libgnat/a-nuaufl__wraplf.ads: New.
gcc/ada/Makefile.rtl
gcc/ada/libgnat/a-nashfl__wraplf.ads [new file with mode: 0644]
gcc/ada/libgnat/a-nuaufl__wraplf.ads [new file with mode: 0644]