From 64868646eed7384c38db41aff5002215b92c1601 Mon Sep 17 00:00:00 2001 From: Hristina Palikareva Date: Fri, 4 Oct 2013 18:32:55 +0100 Subject: MetaSMT builder, solver and command-line options. --- lib/Basic/CmdLineOptions.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/Basic/CmdLineOptions.cpp') diff --git a/lib/Basic/CmdLineOptions.cpp b/lib/Basic/CmdLineOptions.cpp index ac0474fb..1201ac29 100644 --- a/lib/Basic/CmdLineOptions.cpp +++ b/lib/Basic/CmdLineOptions.cpp @@ -73,5 +73,17 @@ llvm::cl::list queryLoggingOptions( llvm::cl::CommaSeparated ); + +llvm::cl::opt +UseMetaSMT("use-metasmt", + llvm::cl::desc("Use MetaSMT as an underlying SMT solver and specify the solver backend type."), + llvm::cl::values(clEnumValN(METASMT_BACKEND_NONE, "none", "Don't use metaSMT"), + clEnumValN(METASMT_BACKEND_STP, "stp", "Use metaSMT with STP"), + clEnumValN(METASMT_BACKEND_Z3, "z3", "Use metaSMT with Z3"), + clEnumValN(METASMT_BACKEND_BOOLECTOR, "btor", "Use metaSMT with Boolector"), + clEnumValEnd), + llvm::cl::init(METASMT_BACKEND_NONE)); + + } -- cgit 1.4.1 From 7b46fc6cc9d9104a226d28f286b19fffc5a1e029 Mon Sep 17 00:00:00 2001 From: Hristina Palikareva Date: Tue, 15 Oct 2013 14:31:49 +0100 Subject: command-line option --use-metasmt declared and defined inside #ifdef SUPPORT_METASMT ... #endif macros --- include/klee/CommandLine.h | 5 +++++ lib/Basic/CmdLineOptions.cpp | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'lib/Basic/CmdLineOptions.cpp') diff --git a/include/klee/CommandLine.h b/include/klee/CommandLine.h index c755114b..c4c70069 100644 --- a/include/klee/CommandLine.h +++ b/include/klee/CommandLine.h @@ -7,6 +7,7 @@ #define KLEE_COMMANDLINE_H #include "llvm/Support/CommandLine.h" +#include "klee/Config/config.h" namespace klee { @@ -43,6 +44,8 @@ enum QueryLoggingSolverType */ extern llvm::cl::list queryLoggingOptions; +#ifdef SUPPORT_METASMT + enum MetaSMTBackendType { METASMT_BACKEND_NONE, @@ -53,6 +56,8 @@ enum MetaSMTBackendType extern llvm::cl::opt UseMetaSMT; +#endif /* SUPPORT_METASMT */ + //A bit of ugliness so we can use cl::list<> like cl::bits<>, see queryLoggingOptions template static bool optionIsSet(llvm::cl::list list, T option) diff --git a/lib/Basic/CmdLineOptions.cpp b/lib/Basic/CmdLineOptions.cpp index 1201ac29..eac54141 100644 --- a/lib/Basic/CmdLineOptions.cpp +++ b/lib/Basic/CmdLineOptions.cpp @@ -73,6 +73,7 @@ llvm::cl::list queryLoggingOptions( llvm::cl::CommaSeparated ); +#ifdef SUPPORT_METASMT llvm::cl::opt UseMetaSMT("use-metasmt", @@ -84,6 +85,10 @@ UseMetaSMT("use-metasmt", clEnumValEnd), llvm::cl::init(METASMT_BACKEND_NONE)); +#endif /* SUPPORT_METASMT */ } + + + -- cgit 1.4.1