summaryrefslogtreecommitdiffstats
path: root/qmake/library/qmakebuiltins.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2012-09-03 20:57:59 +0200
committerQt by Nokia <qt-info@nokia.com>2012-09-18 07:47:14 +0200
commit849f1f9efda601bcfd3760256205a2014e0bc936 (patch)
tree07cd4c4e4413b205a8e4e2be37e4cea5bed818cf /qmake/library/qmakebuiltins.cpp
parentc3c4f1eb5301a4fda17a9a48012df45f9a0ee7a3 (diff)
don't allow overloading of built-in functions
the functions are not versioned or scoped, so user-defined overloads would mess up qmake's own feature files. it seems safer to break user projects than to allow the user to break qmake. Change-Id: I020a2e6416bbb6e2fd2ece339629d848c00c8398 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'qmake/library/qmakebuiltins.cpp')
-rw-r--r--qmake/library/qmakebuiltins.cpp14
1 files changed, 2 insertions, 12 deletions
diff --git a/qmake/library/qmakebuiltins.cpp b/qmake/library/qmakebuiltins.cpp
index b2852657b0..5140ed57ef 100644
--- a/qmake/library/qmakebuiltins.cpp
+++ b/qmake/library/qmakebuiltins.cpp
@@ -398,13 +398,12 @@ void QMakeEvaluator::populateDeps(
}
ProStringList QMakeEvaluator::evaluateBuiltinExpand(
- const ProKey &func, const ProStringList &args)
+ int func_t, const ProKey &func, const ProStringList &args)
{
ProStringList ret;
traceMsg("calling built-in $$%s(%s)", dbgKey(func), dbgSepStrList(args));
- ExpandFunc func_t = ExpandFunc(statics.expands.value(func));
switch (func_t) {
case E_BASENAME:
case E_DIRNAME:
@@ -1023,10 +1022,6 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
ret << (rstr.isSharedWith(m_tmp1) ? args.at(0) : ProString(rstr).setSource(args.at(0)));
}
break;
- case E_INVALID:
- evalError(fL1S("'%1' is not a recognized replace function.")
- .arg(func.toQString(m_tmp1)));
- break;
default:
evalError(fL1S("Function '%1' is not implemented.").arg(func.toQString(m_tmp1)));
break;
@@ -1036,11 +1031,10 @@ ProStringList QMakeEvaluator::evaluateBuiltinExpand(
}
QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
- const ProKey &function, const ProStringList &args)
+ int func_t, const ProKey &function, const ProStringList &args)
{
traceMsg("calling built-in %s(%s)", dbgKey(function), dbgSepStrList(args));
- TestFunc func_t = (TestFunc)statics.functions.value(function);
switch (func_t) {
case T_DEFINED: {
if (args.count() < 1 || args.count() > 2) {
@@ -1634,10 +1628,6 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
return writeFile(fL1S("cache "), fn, QIODevice::Append, varstr);
}
#endif
- case T_INVALID:
- evalError(fL1S("'%1' is not a recognized test function.")
- .arg(function.toQString(m_tmp1)));
- return ReturnFalse;
default:
evalError(fL1S("Function '%1' is not implemented.").arg(function.toQString(m_tmp1)));
return ReturnFalse;