swh:1:snp:673156c31a876c5b99b2fe3e89615529de9a3c44
Revision 7e0fa2fc75a9c9ca3466d0a3fb6c9f302fc22a62 authored by Marc Mutz on 10 July 2012, 13:27:48 UTC, committed by Qt by Nokia on 26 August 2012, 12:29:49 UTC
Currently, we have a C++11 version that requires Q_COMPILER_DECLTYPE
support, and can deal with final classes, and a C++98 version that
doesn't require any C++11 features, but fails on final classes.

What we're missing is a version that works for MSVC v8 and v9
(2005 and 2008), which sport the 'sealed' non-standard keywords
but lack decltype support. So far, we tried to solve the problem
by making class-level final special (Q_DECL_FINAL_CLASS), not
defining that macro for these two compilers, even though we did
define Q_DECL_FINAL, the method-level keyword.

This new formulation, taken from
  http://stackoverflow.com/a/9655327/134841
supposedly supports all compilers with a minor #ifdef for
MSVC which doesn't like applying sizeof() the way we do.

However, testing has shown this to blow up on OSX.

So we use the less intrusive approach: add this variant as
a third version, only used by VC 2005 and 2008.

Change-Id: If1945f8a6e9ed36cb68212fa781d5e29eb2a082d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
1 parent 9090e0d
History
Tip revision: ed928cee1233aee003610d5fadb56bdaeffbd7b2 authored by Jake Petroules on 22 September 2016, 17:55:20 UTC
Suppress deprecated warnings for some QSysInfo members
Tip revision: ed928ce
File Mode Size
bin
config.tests
dist
doc
examples
lib
mkspecs
qmake
src
tests
tools
util
.gitattributes -rw-r--r-- 11 bytes
.gitignore -rw-r--r-- 7.5 KB
.tag -rw-r--r-- 5 bytes
INSTALL -rw-r--r-- 663 bytes
LGPL_EXCEPTION.txt -rw-r--r-- 1.2 KB
LICENSE.FDL -rw-r--r-- 22.4 KB
LICENSE.GPL -rw-r--r-- 34.3 KB
LICENSE.LGPL -rw-r--r-- 26.2 KB
LICENSE.PREVIEW.COMMERCIAL -rw-r--r-- 30.8 KB
configure -rwxr-xr-x 206.1 KB
configure.bat -rw-r--r-- 3.7 KB
header.BSD -rw-r--r-- 2.0 KB
header.FDL -rw-r--r-- 830 bytes
header.LGPL -rw-r--r-- 1.6 KB
header.LGPL-ONLY -rw-r--r-- 961 bytes
qtbase.pro -rw-r--r-- 4.1 KB
sync.profile -rw-r--r-- 7.4 KB

back to top