File tree Expand file tree Collapse file tree 1 file changed +23
-10
lines changed Expand file tree Collapse file tree 1 file changed +23
-10
lines changed Original file line number Diff line number Diff line change @@ -110,16 +110,29 @@ ebmc_solver_factoryt ebmc_solver_factory(const cmdlinet &cmdline)
110
110
if (smt2_solver.has_value ())
111
111
{
112
112
return
113
- [smt2_solver](const namespacet &ns, message_handlert &message_handler)
114
- {
115
- return ebmc_solvert{std::make_unique<smt2_dect>(
116
- ns,
117
- " ebmc" ,
118
- " Generated by EBMC " EBMC_VERSION,
119
- " QF_AUFBV" ,
120
- smt2_solver.value (),
121
- message_handler)};
122
- };
113
+ [smt2_solver](const namespacet &ns, message_handlert &message_handler) {
114
+ if (smt2_solver == smt2_convt::solvert::GENERIC)
115
+ {
116
+ // --smt2 but no --outfile given. Send to std::cout.
117
+ return ebmc_solvert{std::make_unique<smt2_convt>(
118
+ ns,
119
+ " ebmc" ,
120
+ " Generated by EBMC " EBMC_VERSION,
121
+ " QF_AUFBV" ,
122
+ smt2_solver.value (),
123
+ std::cout)};
124
+ }
125
+ else
126
+ {
127
+ return ebmc_solvert{std::make_unique<smt2_dect>(
128
+ ns,
129
+ " ebmc" ,
130
+ " Generated by EBMC " EBMC_VERSION,
131
+ " QF_AUFBV" ,
132
+ smt2_solver.value (),
133
+ message_handler)};
134
+ }
135
+ };
123
136
}
124
137
else
125
138
{
You can’t perform that action at this time.
0 commit comments