diff options
author | Cristian Cadar <cristic@cs.stanford.edu> | 2013-04-04 11:50:07 +0000 |
---|---|---|
committer | Cristian Cadar <cristic@cs.stanford.edu> | 2013-04-04 11:50:07 +0000 |
commit | cba6931381ef9cc71ea1692ea860848c3f3f4c99 (patch) | |
tree | 406211905ed194974707610f2c4173a3ac4605f9 /lib/Core | |
parent | 7d8fdac598ad879ce973667df53c7acbead1ba2e (diff) | |
download | klee-cba6931381ef9cc71ea1692ea860848c3f3f4c99.tar.gz |
Patch by Michael Contreras and Jiri Slaby for compiling KLEE with LLVM 3.2
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@178759 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Core')
-rw-r--r-- | lib/Core/Executor.cpp | 14 | ||||
-rw-r--r-- | lib/Core/SpecialFunctionHandler.cpp | 4 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 473f45e5..d0ad811d 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1380,7 +1380,12 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { CallSite(cast<CallInst>(caller))); // XXX need to check other param attrs ? - if (cs.paramHasAttr(0, llvm::Attribute::SExt)) { +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 2) + bool isSExt = cs.paramHasAttr(0, llvm::Attributes::SExt); +#else + bool isSExt = cs.paramHasAttr(0, llvm::Attribute::SExt); +#endif + if (isSExt) { result = SExtExpr::create(result, to); } else { result = ZExtExpr::create(result, to); @@ -1579,7 +1584,12 @@ void Executor::executeInstruction(ExecutionState &state, KInstruction *ki) { if (from != to) { // XXX need to check other param attrs ? - if (cs.paramHasAttr(i+1, llvm::Attribute::SExt)) { +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 2) + bool isSExt = cs.paramHasAttr(i+1, llvm::Attributes::SExt); +#else + bool isSExt = cs.paramHasAttr(i+1, llvm::Attribute::SExt); +#endif + if (isSExt) { arguments[i] = SExtExpr::create(arguments[i], to); } else { arguments[i] = ZExtExpr::create(arguments[i], to); diff --git a/lib/Core/SpecialFunctionHandler.cpp b/lib/Core/SpecialFunctionHandler.cpp index d01a9ef4..d44e13b6 100644 --- a/lib/Core/SpecialFunctionHandler.cpp +++ b/lib/Core/SpecialFunctionHandler.cpp @@ -131,7 +131,11 @@ void SpecialFunctionHandler::prepare() { // Make sure NoReturn attribute is set, for optimization and // coverage counting. if (hi.doesNotReturn) +#if LLVM_VERSION_CODE >= LLVM_VERSION(3, 2) + f->addFnAttr(Attributes::NoReturn); +#else f->addFnAttr(Attribute::NoReturn); +#endif // Change to a declaration since we handle internally (simplifies // module and allows deleting dead code). |