summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
diff options
context:
space:
mode:
authorMikhail Glushenkov <foldr@codedgers.com>2009-10-17 20:08:30 +0000
committerMikhail Glushenkov <foldr@codedgers.com>2009-10-17 20:08:30 +0000
commitb2eba4904ffa2baff784a0fb1738fd1b81640dc7 (patch)
tree8bf46bf2023c2fa7c2beb5b6314030a4fe77dcd3 /llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
parent4500d416aaafcb3dc0f36b1973a009b3b38e8e5a (diff)
downloadbcm5719-llvm-b2eba4904ffa2baff784a0fb1738fd1b81640dc7.tar.gz
bcm5719-llvm-b2eba4904ffa2baff784a0fb1738fd1b81640dc7.zip
Disallow multiple instances of PluginPriority.
Several instances of PluginPriority in a single file most probably signifies a programming error. llvm-svn: 84350
Diffstat (limited to 'llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
index 06afaf73a02..6dfd1b362d5 100644
--- a/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
+++ b/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp
@@ -775,11 +775,17 @@ void FillInEdgeVector(RecordVector::const_iterator B,
/// CalculatePriority - Calculate the priority of this plugin.
int CalculatePriority(RecordVector::const_iterator B,
RecordVector::const_iterator E) {
- int total = 0;
- for (; B!=E; ++B) {
- total += static_cast<int>((*B)->getValueAsInt("priority"));
+ int priority = 0;
+
+ if (B != E) {
+ priority = static_cast<int>((*B)->getValueAsInt("priority"));
+
+ if (++B != E)
+ throw std::string("More than one 'PluginPriority' instance found: "
+ "most probably an error!");
}
- return total;
+
+ return priority;
}
/// NotInGraph - Helper function object for FilterNotInGraph.
OpenPOWER on IntegriCloud