diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Basic/CmdLineOptions.cpp | 10 | ||||
-rw-r--r-- | lib/Solver/CoreSolver.cpp | 9 |
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/Basic/CmdLineOptions.cpp b/lib/Basic/CmdLineOptions.cpp index b7502023..70ee736e 100644 --- a/lib/Basic/CmdLineOptions.cpp +++ b/lib/Basic/CmdLineOptions.cpp @@ -92,11 +92,19 @@ llvm::cl::opt<klee::MetaSMTBackendType> MetaSMTBackend( #ifdef ENABLE_STP #define STP_IS_DEFAULT_STR " (default)" #define METASMT_IS_DEFAULT_STR "" +#define Z3_IS_DEFAULT_STR "" #define DEFAULT_CORE_SOLVER STP_SOLVER +#elif ENABLE_Z3 +#define STP_IS_DEFAULT_STR "" +#define METASMT_IS_DEFAULT_STR "" +#define Z3_IS_DEFAULT_STR " (default)" +#define DEFAULT_CORE_SOLVER Z3_SOLVER #elif ENABLE_METASMT #define STP_IS_DEFAULT_STR "" #define METASMT_IS_DEFAULT_STR " (default)" +#define Z3_IS_DEFAULT_STR "" #define DEFAULT_CORE_SOLVER METASMT_SOLVER +#define Z3_IS_DEFAULT_STR "" #else #error "Unsupported solver configuration" #endif @@ -105,11 +113,13 @@ llvm::cl::opt<CoreSolverType> CoreSolverToUse( llvm::cl::values(clEnumValN(STP_SOLVER, "stp", "stp" STP_IS_DEFAULT_STR), clEnumValN(METASMT_SOLVER, "metasmt", "metaSMT" METASMT_IS_DEFAULT_STR), clEnumValN(DUMMY_SOLVER, "dummy", "Dummy solver"), + clEnumValN(Z3_SOLVER, "z3", "Z3" Z3_IS_DEFAULT_STR), clEnumValEnd), llvm::cl::init(DEFAULT_CORE_SOLVER)); } #undef STP_IS_DEFAULT_STR #undef METASMT_IS_DEFAULT_STR +#undef Z3_IS_DEFAULT_STR #undef DEFAULT_CORE_SOLVER diff --git a/lib/Solver/CoreSolver.cpp b/lib/Solver/CoreSolver.cpp index 9248f3d3..26842d31 100644 --- a/lib/Solver/CoreSolver.cpp +++ b/lib/Solver/CoreSolver.cpp @@ -86,6 +86,15 @@ Solver *createCoreSolver(CoreSolverType cst) { #endif case DUMMY_SOLVER: return createDummySolver(); + case Z3_SOLVER: +#ifdef ENABLE_Z3 + // TODO + llvm::report_fatal_error("Z3 support not implemented"); + return NULL; +#else + llvm::errs() << "Not compiled with Z3 support\n"; + return NULL; +#endif default: llvm_unreachable("Unsupported CoreSolverType"); } |