[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: