diff options
-rw-r--r-- | lib/Core/ExecutorUtil.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Core/ExecutorUtil.cpp b/lib/Core/ExecutorUtil.cpp index a352db33..daea189a 100644 --- a/lib/Core/ExecutorUtil.cpp +++ b/lib/Core/ExecutorUtil.cpp @@ -213,7 +213,11 @@ namespace klee { continue; // Handle a struct index, which adds its field offset to the pointer. +#if LLVM_VERSION_CODE >= LLVM_VERSION(4, 0) + if (auto STy = ii.getStructTypeOrNull()) { +#else if (StructType *STy = dyn_cast<StructType>(*ii)) { +#endif unsigned ElementIdx = indexOp->getZExtValue(); const StructLayout *SL = kmodule->targetData->getStructLayout(STy); base = base->Add( |