Go to file
Marc Mutz 7e0fa2fc75 QVariant: make the HasIsNullMethod check work across all compilers (maybe)
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>
2012-08-26 14:29:49 +02:00
bin Skip doc subfolders when checking includes. 2012-08-01 15:37:46 +02:00
config.tests introduce compileTest function 2012-08-14 12:49:37 +02:00
dist Make QAbstractItemModel::sibling virtual. 2012-08-23 15:54:02 +02:00
doc Sort qdoc ignores. 2012-08-21 16:20:25 +02:00
examples Doc: replace occurrence of \starslash in widget docs 2012-08-23 13:22:23 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Move the QT_COMPILER_SUPPORTS_xxx defines to qconfig.h 2012-08-22 21:58:45 +02:00
qmake qmake: fix manifest resource for non-trivial target names 2012-08-23 15:54:02 +02:00
src QVariant: make the HasIsNullMethod check work across all compilers (maybe) 2012-08-26 14:29:49 +02:00
tests QUrl: port thread-safety autotest from Qt4. 2012-08-26 11:08:42 +02:00
tools Fix bug in configure where Qt did not compile with QT_ICONV=no 2012-08-23 02:55:17 +02:00
util QUnicodeTables: some internal API renamings 2012-06-22 09:47:59 +02:00
.gitattributes Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
.gitignore Updated .gitignore 2012-08-18 13:59:11 +02:00
.tag Added .tag file with Git revision. 2011-05-03 16:23:49 +02:00
configure filter standard paths from mysql_config & pg_config 2012-08-25 17:03:17 +02:00
configure.bat Remove Q_BYTE_ORDER and -*-endian arguments from configures 2012-03-02 14:48:00 +01:00
header.BSD Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.FDL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
header.LGPL-ONLY Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
INSTALL Remove Symbian specific code from qtbase. 2012-01-31 07:08:31 +01:00
LGPL_EXCEPTION.txt Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL Add the LICENSE.GPL file to the module referenced from license headers 2012-05-20 22:41:08 +02:00
LICENSE.LGPL Update contact information in license headers. 2012-01-23 04:04:33 +01:00
LICENSE.PREVIEW.COMMERCIAL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
qtbase.pro Install right version of tools when x-compiling. 2012-07-17 12:52:48 +02:00
sync.profile Revert "Move QWindowSystemInterface out of qpa." 2012-08-03 00:38:09 +02:00