Bug#451046: qt4-x11 makes inconsistent use of floats and doubles
On Tue, Nov 13, 2007 at 01:05:46AM +0000, Thiemo Seufer wrote:
> Package: qt4-x11
> Version: 4.3.2-1
> Severity: important
> Tags: patch
>
> When investigating the build failure of ktoon on mips/mipsel/arm
> I found it comes down to two problems in qt4-x11:
>
> a) It mis-assumes that non-IRIX MIPS systems generally have no FPU.
> The appended patch fixes that.
My decstation 5000s have a MIPS3000 and also a 3000 series FPU. They
certainly aren't from SGI and don't run IRIX. They are also little
endian of course to make life more interesting.
So yes assuming a non SGI mips has no FPU is not a valid assumption.
> b) For ARM and MIPS it defines qreal as a float, which confusingly
> means isDouble() returns a float value. But other parts of the
> package, as well as users of qt4-x11, continue to use double types
> instead of qreal, which leads to data type mismatches, and eventual
> build failures.
>
> Unless the intent is to outlaw the use of "double" or "float" for all
> uses of qt4-x11 I regard this feature as inherently broken.
>
> I'm also dubious about the performance gain achieved by this hack, I
> CC debian-arm for more insight into this.
>
>
> Thiemo
>
>
> --- qt4-x11-4.3.2/src/corelib/global/qglobal.h.old 2007-11-10 18:17:21.000000000 +0000
> +++ qt4-x11-4.3.2/src/corelib/global/qglobal.h 2007-11-10 18:18:21.000000000 +0000
> @@ -840,7 +840,7 @@ QT_BEGIN_HEADER
>
> typedef int QNoImplicitBoolCast;
>
> -#if defined(QT_ARCH_ARM) || (defined(QT_ARCH_MIPS) && !defined(Q_OS_IRIX))
> +#if defined(QT_ARCH_ARM)
> #define QT_NO_FPU
> #endif
No idea about this part.
--
Len Sorensen
Reply to: