summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-11-11 17:54:57 +0100
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2014-11-12 16:42:24 +0100
commit1d24d16379df6cd8a01434a13c3fe301d44eb0d2 (patch)
tree10d3aa04a5648f13b4a720976e2f03816228e710
parentfe5ae537930d67171d71748aec1b00fb423a7962 (diff)
downloadqbs-1d24d16379df6cd8a01434a13c3fe301d44eb0d2.tar.gz
Fix rule comparison.
We used to just compare the source code of the prepare script, but that was too much of an optimization. Simply use the ScriptFunction's operator== (which was also missing a member comparison), everything else is a maintenance nightmare. Change-Id: I625263e8dea42cbf42624c00434032d7b7146dc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rw-r--r--src/lib/corelib/language/language.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp
index 1b907975e..405c98ac2 100644
--- a/src/lib/corelib/language/language.cpp
+++ b/src/lib/corelib/language/language.cpp
@@ -301,6 +301,7 @@ bool operator==(const ScriptFunction &a, const ScriptFunction &b)
{
return a.sourceCode == b.sourceCode
&& a.location == b.location
+ && a.argumentNames == b.argumentNames
&& equals(a.fileContext.data(), b.fileContext.data());
}
@@ -1179,8 +1180,8 @@ bool operator==(const Rule &r1, const Rule &r2)
}
return r1.module->name == r2.module->name
- && r1.prepareScript->sourceCode == r2.prepareScript->sourceCode
- && r1.outputArtifactsScript->sourceCode == r2.outputArtifactsScript->sourceCode
+ && equals(r1.prepareScript.data(), r2.prepareScript.data())
+ && equals(r1.outputArtifactsScript.data(), r2.outputArtifactsScript.data())
&& r1.inputs == r2.inputs
&& r1.outputFileTags == r2.outputFileTags
&& r1.auxiliaryInputs == r2.auxiliaryInputs