From 6adac1d681f328b1737acfa38f221ce2f3b20ef1 Mon Sep 17 00:00:00 2001 From: Stepan Dyatkovskiy Date: Wed, 1 Feb 2012 19:31:42 +0000 Subject: Second compatability fix for SwitchInst refactoring (added compatability with llvm versions < 3.1). git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@149528 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Module/LowerSwitch.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/Module/LowerSwitch.cpp') diff --git a/lib/Module/LowerSwitch.cpp b/lib/Module/LowerSwitch.cpp index 852603b8..fb37da86 100644 --- a/lib/Module/LowerSwitch.cpp +++ b/lib/Module/LowerSwitch.cpp @@ -115,9 +115,16 @@ void LowerSwitchPass::processSwitchInst(SwitchInst *SI) { } CaseVector cases; + +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 1) for (unsigned i = 0; i < SI->getNumCases(); ++i) cases.push_back(SwitchCase(SI->getCaseValue(i), SI->getCaseSuccessor(i))); +#else + for (unsigned i = 1; i < SI->getNumSuccessors(); ++i) + cases.push_back(SwitchCase(SI->getSuccessorValue(i), + SI->getSuccessor(i))); +#endif // reverse cases, as switchConvert constructs a chain of // basic blocks by appending to the front. if we reverse, -- cgit 1.4.1