[Development] #error for unreleased MSVC versions

Thiago Macieira thiago.macieira at intel.com
Thu Oct 24 15:49:39 CEST 2013


Hello

I'm going to add an #error to qcompilerdetection.h for any unreleased version 
of MSVC.

The reason is this combination: 

1) MSVC does not provide a way to turn C++11 off (and won't provide for C++14 
either)

2) MSVC does instantiates *ALL* class members of exported classes, even inline 
functions.

The result of those is that the DLLs need to export all methods with rvalue 
references, rvalue refs and other C++11 constructs. 

==> In other words, adding new Q_COMPILER_xxx defines for C++11 for MSVC breaks 
	binary compatibility <===

For that reason and because we don't know what features newer MSVC will 
support, I am right now declaring all future versions unsupported until 
there's a Qt release that adds the defines.

Retroactively, that means Qt 5.0 and 5.1 are unsupported on MSVC 2013 and are 
not binary compatible with Qt 5.2 there.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20131024/46a5a191/attachment.sig>


More information about the Development mailing list