about summary refs log tree commit diff homepage
path: root/lib/Solver/Z3Builder.h
diff options
context:
space:
mode:
authorTimotej Kapus <timotej.kapus13@imperial.ac.uk>2018-03-16 10:42:12 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2018-05-09 12:19:53 +0100
commit13b5bcbfd933461526f08c6ad759af9e129d6764 (patch)
treefb3eb848493ccf697f8193aeae81d098874dc340 /lib/Solver/Z3Builder.h
parente0aff85c24c039606d82d209617a1334a9ed21e2 (diff)
downloadklee-13b5bcbfd933461526f08c6ad759af9e129d6764.tar.gz
Improve handling of constant array in Z3
Diffstat (limited to 'lib/Solver/Z3Builder.h')
-rw-r--r--lib/Solver/Z3Builder.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/Solver/Z3Builder.h b/lib/Solver/Z3Builder.h
index a3473f82..7cdb2b5e 100644
--- a/lib/Solver/Z3Builder.h
+++ b/lib/Solver/Z3Builder.h
@@ -10,9 +10,10 @@
 #ifndef __UTIL_Z3BUILDER_H__
 #define __UTIL_Z3BUILDER_H__
 
-#include "klee/util/ExprHashMap.h"
-#include "klee/util/ArrayExprHash.h"
 #include "klee/Config/config.h"
+#include "klee/util/ArrayExprHash.h"
+#include "klee/util/ExprHashMap.h"
+#include <unordered_map>
 #include <z3.h>
 
 namespace klee {
@@ -72,7 +73,7 @@ public:
   // To be specialised
   void dump();
 
-  operator T() { return node; }
+  operator T() const { return node; }
 };
 
 // Specialise for Z3_sort
@@ -169,6 +170,8 @@ private:
 
 public:
   Z3_context ctx;
+  std::unordered_map<const Array *, std::vector<Z3ASTHandle> >
+      constant_array_assertions;
   Z3Builder(bool autoClearConstructCache, const char *z3LogInteractionFile);
   ~Z3Builder();