diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 8cf510f79c2..a09f26c8009 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -1044,8 +1044,10 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateConditionalFunction( // ### Consider real termination in non-cumulative mode return returnBool(function != QLatin1String("error")); } -#if 0 // Way too dangerous to enable. +#ifdef PROEVALUATOR_FULL case T_SYSTEM: { + if (m_cumulative) // Anything else would be insanity + return ReturnFalse; if (args.count() != 1) { evalError(fL1S("system(exec) requires one argument.")); return ReturnFalse; diff --git a/tests/manual/proparser/testreader.pro b/tests/manual/proparser/testreader.pro index ced4ccc265d..6d58c9e257d 100644 --- a/tests/manual/proparser/testreader.pro +++ b/tests/manual/proparser/testreader.pro @@ -23,4 +23,4 @@ DEFINES += QMAKE_BUILTIN_PRFS DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION -DEFINES += PROEVALUATOR_CUMULATIVE PROEVALUATOR_INIT_PROPS +DEFINES += PROEVALUATOR_FULL PROEVALUATOR_CUMULATIVE PROEVALUATOR_INIT_PROPS