Skip to content

Commit be33bb7

Browse files
fix build
Signed-off-by: Nikolaj Bjorner <[email protected]>
1 parent 6ddce9d commit be33bb7

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

src/api/api_solver.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,9 @@ extern "C" {
7777

7878
solver2smt2_pp::solver2smt2_pp(ast_manager& m, char const* file): m_pp_util(m), m_out(file) {
7979
if (!m_out) {
80-
throw default_exception("could not open file for output");
80+
std::string msg;
81+
msg = msg + "could not open " + file + " for output";
82+
throw default_exception(msg.c_str());
8183
}
8284
}
8385

src/ast/ast_pp_util.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ast_pp_util {
3333

3434
decl_collector coll;
3535

36-
ast_pp_util(ast_manager& m): m(m), m_env(m), coll(m), m_num_sorts(0), m_num_decls(0) {}
36+
ast_pp_util(ast_manager& m): m(m), m_env(m), m_num_sorts(0), m_num_decls(0), coll(m) {}
3737

3838
void collect(expr* e);
3939

src/ast/decl_collector.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,23 @@ void decl_collector::visit_func(func_decl * n) {
5353
m_decls.push_back(n);
5454
}
5555
m_visited.mark(n, true);
56+
m_trail.push_back(n);
5657
}
5758
}
5859

5960
decl_collector::decl_collector(ast_manager & m):
6061
m_manager(m),
62+
m_trail(m),
6163
m_dt_util(m) {
6264
m_basic_fid = m_manager.get_basic_family_id();
6365
m_dt_fid = m_dt_util.get_family_id();
6466
}
6567

6668
void decl_collector::visit(ast* n) {
69+
if (m_visited.is_marked(n))
70+
return;
6771
datatype_util util(m());
72+
m_trail.push_back(n);
6873
m_todo.push_back(n);
6974
while (!m_todo.empty()) {
7075
n = m_todo.back();

src/ast/decl_collector.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class decl_collector {
2929
ptr_vector<sort> m_sorts;
3030
ptr_vector<func_decl> m_decls;
3131
ast_mark m_visited;
32+
ast_ref_vector m_trail;
3233
family_id m_basic_fid;
3334
family_id m_dt_fid;
3435
datatype_util m_dt_util;

0 commit comments

Comments
 (0)