ICC on Windows: Disable ref-qualified member functions in MSVC <= 2013

Like MSVC, ICC on Windows in debug mode always makes calls to
dllexported functions instead of inlining them. Since MSVC 2013 doesn't
know about ref-qualification of member functions, this creates an
incompatibility between DLL creation and DLL use.

Task-number: QTBUG-48349
Change-Id: I42e7ef1a481840699a8dffff14053b594810fb42
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
This commit is contained in:
Thiago Macieira 2015-09-18 18:01:50 -07:00 committed by Jani Heikkinen
parent 07d4113f8f
commit dc716f2dc2

View File

@ -572,6 +572,9 @@
# if _MSC_VER < 1900
// ICC disables unicode string support when compatibility mode with MSVC 2013 or lower is active
# undef Q_COMPILER_UNICODE_STRINGS
// Even though ICC knows about ref-qualified members, MSVC 2013 or lower doesn't, so
// certain member functions (like QString::toUpper) may be missing from the DLLs.
# undef Q_COMPILER_REF_QUALIFIERS
// Disable constexpr unless the MS headers have constexpr in all the right places too
// (like std::numeric_limits<T>::max())
# undef Q_COMPILER_CONSTEXPR