forked from qt-creator/qt-creator
pass a pointer instead of a reference to initFrom()
msvc thinks that it's impossible to create a null reference (because some language lawyer said so) and thus complains about our assert that checks the reference's validity. work around by not dereferencing the pointers we already have. Change-Id: Ife2288d4187860105de12fdebc0e671e0159ace3 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> (cherry picked from qtbase/11161bbfadd0056466fc414ed659d08a4a0fe492)
This commit is contained in:
@@ -196,17 +196,17 @@ QMakeEvaluator::~QMakeEvaluator()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMakeEvaluator::initFrom(const QMakeEvaluator &other)
|
void QMakeEvaluator::initFrom(const QMakeEvaluator *other)
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(&other, "QMakeEvaluator::visitProFile", "Project not prepared");
|
Q_ASSERT_X(other, "QMakeEvaluator::visitProFile", "Project not prepared");
|
||||||
m_functionDefs = other.m_functionDefs;
|
m_functionDefs = other->m_functionDefs;
|
||||||
m_valuemapStack = other.m_valuemapStack;
|
m_valuemapStack = other->m_valuemapStack;
|
||||||
m_valuemapInited = true;
|
m_valuemapInited = true;
|
||||||
m_qmakespec = other.m_qmakespec;
|
m_qmakespec = other->m_qmakespec;
|
||||||
m_qmakespecName = other.m_qmakespecName;
|
m_qmakespecName = other->m_qmakespecName;
|
||||||
m_mkspecPaths = other.m_mkspecPaths;
|
m_mkspecPaths = other->m_mkspecPaths;
|
||||||
m_featureRoots = other.m_featureRoots;
|
m_featureRoots = other->m_featureRoots;
|
||||||
m_dirSep = other.m_dirSep;
|
m_dirSep = other->m_dirSep;
|
||||||
}
|
}
|
||||||
|
|
||||||
//////// Evaluator tools /////////
|
//////// Evaluator tools /////////
|
||||||
@@ -1354,7 +1354,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::visitProFile(
|
|||||||
return ReturnFalse;
|
return ReturnFalse;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
initFrom(*baseEnv->evaluator);
|
initFrom(baseEnv->evaluator);
|
||||||
} else {
|
} else {
|
||||||
if (!m_valuemapInited)
|
if (!m_valuemapInited)
|
||||||
loadDefaults();
|
loadDefaults();
|
||||||
|
@@ -155,7 +155,7 @@ public:
|
|||||||
bool prepareProject(const QString &inDir);
|
bool prepareProject(const QString &inDir);
|
||||||
bool loadSpecInternal();
|
bool loadSpecInternal();
|
||||||
bool loadSpec();
|
bool loadSpec();
|
||||||
void initFrom(const QMakeEvaluator &other);
|
void initFrom(const QMakeEvaluator *other);
|
||||||
void setupProject();
|
void setupProject();
|
||||||
void evaluateCommand(const QString &cmds, const QString &where);
|
void evaluateCommand(const QString &cmds, const QString &where);
|
||||||
void applyExtraConfigs();
|
void applyExtraConfigs();
|
||||||
|
Reference in New Issue
Block a user