From 06cf93da0c60a9a8f48c94db7fa1d8b2cc755eef Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Thu, 8 Jun 2017 13:25:56 +0200 Subject: llvm4: PointerType is not SequentialType So handle the type specially whenever needed. Signed-off-by: Jiri Slaby --- include/klee/util/GetElementPtrTypeIterator.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include') diff --git a/include/klee/util/GetElementPtrTypeIterator.h b/include/klee/util/GetElementPtrTypeIterator.h index 5fb9f4ec..ce380bc0 100644 --- a/include/klee/util/GetElementPtrTypeIterator.h +++ b/include/klee/util/GetElementPtrTypeIterator.h @@ -78,6 +78,10 @@ class generic_gep_type_iterator generic_gep_type_iterator& operator++() { // Preincrement if (llvm::CompositeType *CT = dyn_cast(CurTy)) { CurTy = CT->getTypeAtIndex(getOperand()); +#if LLVM_VERSION_CODE >= LLVM_VERSION(4, 0) + } else if (auto ptr = dyn_cast(CurTy)) { + CurTy = ptr->getElementType(); +#endif } else { CurTy = 0; } -- cgit 1.4.1