[Development] The VS2008 WinCE errors

Thiago Macieira thiago.macieira at intel.com
Tue Feb 11 21:59:45 CET 2014


Current tests are frequently showing the following error messages:

c:
\work\build\qt\qtbase\tests\auto\corelib\global\qtendian\tst_qtendian.cpp(140) 
: fatal error C1001: An internal error has occurred in the compiler.

Anyone who can try to test what we could shuffle around to get rid of the error?

The other error is:

..\tst_qatomicinteger.cpp(168) : error C2027: use of undefined type 
'QStaticAssertFailure<Test>'

Line 168 is a function declaration in the middle of the class:
    void fetchAndSub();

The nearest Q_STATIC_ASSERT is 20 lines down, in a function which is not the 
one declared above:
    Q_STATIC_ASSERT(sizeof(QAtomicInteger<T>) == sizeof(T));
    Q_STATIC_ASSERT(Q_ALIGNOF(QAtomicInteger<T>) == 
Q_ALIGNOF(TypeInStruct<T>));

This appears to be the char16_t test, but since VS 2008 does not support 
Unicode strings, the test should compile with T == int and simply cause a 
QSKIP in initTestCase.

Given:
 - the above ICE
 - the fact that there's problem for compiling short, ushort, wchar_t or 
char32_t
 - 16-bit atomics are not supported on WinCE due to lack of intrinsics

I'm guessing it's *also* a compiler bug. But can someone verify my 
assumptions? That it's the char16_t test, that the preprocessor output was 
correct and using QAtomicInteger<int>, that there's a QSKIP in initTestCase?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list