summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2012-03-27 14:42:43 -0300
committerQt by Nokia <qt-info@nokia.com>2012-03-28 21:24:43 +0200
commitaf3c7d35b6937d6b5ba94243f76b540e18a04567 (patch)
treef2d3476809fa5f33f5e280945a89a33223eb7b32
parent4ba9cecec201f5ff0263cac891225e22d2443b5c (diff)
Fix qmake's use of Q_ASSERT with side-effects.
The nice side-effect of having Q_ASSERT use the condition twice is that we break code that has side-effects. Change-Id: Ia0b7ed2a8030c8e222612af95eb2d58671433110 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-rw-r--r--qmake/project.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/qmake/project.cpp b/qmake/project.cpp
index b82b793319..8e4b1744b9 100644
--- a/qmake/project.cpp
+++ b/qmake/project.cpp
@@ -1721,7 +1721,8 @@ QMakeProject::doProjectExpand(QString func, QList<QStringList> args_list,
function_blocks.push(defined);
QStringList ret;
defined->exec(args_list, this, place, ret);
- Q_ASSERT(function_blocks.pop() == defined);
+ bool correct = function_blocks.pop() == defined;
+ Q_ASSERT(correct); Q_UNUSED(correct);
return ret;
}
@@ -2206,7 +2207,8 @@ QMakeProject::doProjectTest(QString func, QList<QStringList> args_list, QHash<QS
QStringList ret;
function_blocks.push(defined);
defined->exec(args_list, this, place, ret);
- Q_ASSERT(function_blocks.pop() == defined);
+ bool correct = function_blocks.pop() == defined;
+ Q_ASSERT(correct); Q_UNUSED(correct);
if(ret.isEmpty()) {
return true;