Fix annoying warning from ICC 14 on Windows

It says that defining a macro that does defined() is not portable. The
solution implemented for MSVC 2008 and earlier does work, however, and
is portable to all compilers (the parentheses around the macro are
unnecessary).

Incidentally, this makes d98004cd2f
actually work: Q_CC_MSVC wasn't defined at that point in the file, so
that change had never taken effect.

warning #3199: "defined" is always false in a macro expansion in Microsoft mode

Task-number: QTBUG-39597
Change-Id: Iaa2895e7f63d97c439090043435a2b8d2f185c3a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
Thiago Macieira 2014-06-24 11:28:11 -07:00
parent 1bf95fbf60
commit 256f810be3

View File

@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Copyright (C) 2012 Intel Corporation.
** Copyright (C) 2014 Intel Corporation.
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtCore module of the Qt Toolkit.
@ -59,7 +59,7 @@
#include <QtCore/qconfig.h>
#include <QtCore/qfeatures.h>
#endif
#if defined(Q_CC_MSVC) && _MSC_VER <= 1500 /* VS2008 */
#ifdef _MSC_VER
# define QT_SUPPORTS(FEATURE) (!defined QT_NO_##FEATURE)
#else
# define QT_SUPPORTS(FEATURE) (!defined(QT_NO_##FEATURE))