Merge remote-tracking branch 'gerrit/2.6'

Conflicts:
	src/libs/utils/environment.cpp
	src/plugins/android/androidtoolchain.cpp
	src/plugins/projectexplorer/gcctoolchain.cpp
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp
	src/shared/proparser/qmakeevaluator.cpp

Change-Id: I554e96445a4d2b9ba0cc173ecd766091ee921aa2
This commit is contained in:
Oswald Buddenhagen
2012-09-12 17:27:37 +02:00
93 changed files with 880 additions and 690 deletions

View File

@@ -184,7 +184,6 @@ QMakeEvaluator::QMakeEvaluator(QMakeGlobals *option,
#ifdef PROEVALUATOR_CUMULATIVE
m_skipLevel = 0;
#endif
m_loopLevel = 0;
m_listCount = 0;
m_valuemapStack.push(ProValueMap());
m_valuemapInited = false;
@@ -673,6 +672,21 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProBlock(
invert = false;
curr.clear();
continue;
case TokReturn:
m_returnValue = curr;
curr.clear();
ret = ReturnReturn;
goto ctrlstm;
case TokBreak:
ret = ReturnBreak;
goto ctrlstm;
case TokNext:
ret = ReturnNext;
ctrlstm:
if (!m_skipLevel && okey != or_op)
return ret;
okey = false, or_op = true; // force next evaluation
continue;
default: {
const ushort *oTokPtr = --tokPtr;
evaluateExpression(tokPtr, &curr, false);
@@ -752,7 +766,6 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProLoop(
else
traceMsg("entering loop for %s over %s", dbgKey(variable), dbgStrList(list));
m_loopLevel++;
forever {
if (infinite) {
if (!variable.isEmpty())
@@ -789,7 +802,6 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProLoop(
}
}
do_break:
m_loopLevel--;
traceMsg("done looping");
@@ -1565,8 +1577,6 @@ ProStringList QMakeEvaluator::evaluateFunction(
} else {
m_valuemapStack.push(ProValueMap());
m_locationStack.push(m_current);
int loopLevel = m_loopLevel;
m_loopLevel = 0;
ProStringList args;
for (int i = 0; i < argumentsList.count(); ++i) {
@@ -1579,7 +1589,6 @@ ProStringList QMakeEvaluator::evaluateFunction(
ret = m_returnValue;
m_returnValue.clear();
m_loopLevel = loopLevel;
m_current = m_locationStack.pop();
m_valuemapStack.pop();
}