Fix compilation for VxWorks ARM64

VxWorks libc for Intel don't have implemented __extendhfxf2 function,
which can be emitted by compiler when converting float16 to 80-bit long
double. When checking Qt6 support for ARM64 it was found that the same
issue applies to ARM64, which causes similar compilation error
(Undefined reference to __extendhfxf2).

Fix this by adding exclusion to ARM64 when testing long double in
tst_qfloat16::ordering() test function.

Change-Id: Ia229677e551cb6d72762c16973dae23b270da7f7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Michał Łoś 2025-01-30 14:26:28 +01:00
parent 13636f848d
commit 2230f51590

View File

@ -193,11 +193,11 @@ void tst_qfloat16::ordering()
CHECK_FP(qfloat16);
CHECK_FP(float);
CHECK_FP(double);
// Qt built for VxWorks x86_64 fails to link due to undefined reference to
// Qt built for VxWorks x86_64 and arm64 fails to link due to undefined reference to
// __extendhfxf2 when below check is enabled.
// This has been acknowledged by WindRiver as a bug
// and is being tracked in ticket 00154117
#if !(defined(Q_OS_VXWORKS) && defined(Q_PROCESSOR_X86_64))
#if !(defined(Q_OS_VXWORKS) && (defined(Q_PROCESSOR_X86_64) || defined(Q_PROCESSOR_ARM_64)))
CHECK_FP(long double);
#endif