[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