tst_qpainter: change the FP exception block-list to a pass-list

We should prefer to test this unless we know it won't work, but this is
very hardware and implementation-dependent anyway. So I declare that
we'll only guarantee FP exception cleanliness on a best-effort basis for
a few platforms.

The notable difference in this commit is the removal of QNX. I don't
know why it began producing an FP exception with one of my changes, but
since the toolchain isn't public, I can't debug and will not devote any
time to figuring it out. If users of QNX require this, then someone with
interest in that OS will need to spend time after my changes integrate.

Change-Id: Ibcde9b9795ad42ac9978fffd16f1cb9c03a0ff66
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
This commit is contained in:
Thiago Macieira 2022-05-23 10:20:09 -07:00
parent 0e64d97cc1
commit 121ddac2ed

View File

@ -2830,7 +2830,14 @@ void tst_QPainter::monoImages()
}
}
#if !defined(Q_OS_AIX) && !defined(Q_CC_MSVC) && !defined(Q_OS_SOLARIS) && !defined(__UCLIBC__) && !defined(Q_OS_INTEGRITY)
#if defined(Q_OS_DARWIN) || defined(Q_OS_FREEBSD) || defined(Q_OS_ANDROID)
# define TEST_FPE_EXCEPTIONS
#elif defined(Q_OS_LINUX) && defined(__GLIBC__)
# define TEST_FPE_EXCEPTIONS
#elif defined(Q_OS_WIN) && defined(Q_CC_GNU)
# define TEST_FPE_EXCEPTIONS
#endif
#ifdef TEST_FPE_EXCEPTIONS
#include <fenv.h>
static const QString fpeExceptionString(int exception)