diff --git a/scripts/mk_util.py b/scripts/mk_util.py index 2ed420c20..a3eed360c 100644 --- a/scripts/mk_util.py +++ b/scripts/mk_util.py @@ -1782,7 +1782,7 @@ def mk_config(): FOCI2 = False if GIT_HASH: CPPFLAGS = '%s -DZ3GITHASH=%s' % (CPPFLAGS, GIT_HASH) - CXXFLAGS = '%s -c' % CXXFLAGS + CXXFLAGS = '%s -fvisibility=hidden -c' % CXXFLAGS HAS_OMP = test_openmp(CXX) if HAS_OMP: CXXFLAGS = '%s -fopenmp -mfpmath=sse' % CXXFLAGS @@ -2104,7 +2104,7 @@ def mk_pat_db(): c = get_component(PATTERN_COMPONENT) fin = open(os.path.join(c.src_dir, 'database.smt2'), 'r') fout = open(os.path.join(c.src_dir, 'database.h'), 'w') - fout.write('char const * g_pattern_database =\n') + fout.write('static char const g_pattern_database[] =\n') for line in fin: fout.write('"%s\\n"\n' % line.strip('\n')) fout.write(';\n') diff --git a/src/api/api_ast.cpp b/src/api/api_ast.cpp index b9c6230b7..20ef9ba7f 100644 --- a/src/api/api_ast.cpp +++ b/src/api/api_ast.cpp @@ -300,7 +300,7 @@ extern "C" { Z3_CATCH_RETURN(-1); } - char const * Z3_API Z3_get_symbol_string(Z3_context c, Z3_symbol s) { + Z3_API char const * Z3_get_symbol_string(Z3_context c, Z3_symbol s) { Z3_TRY; LOG_Z3_get_symbol_string(c, s); RESET_ERROR_CODE(); @@ -823,7 +823,7 @@ extern "C" { Z3_CATCH_RETURN(0); } - char const * Z3_API Z3_ast_to_string(Z3_context c, Z3_ast a) { + Z3_API char const * Z3_ast_to_string(Z3_context c, Z3_ast a) { Z3_TRY; LOG_Z3_ast_to_string(c, a); RESET_ERROR_CODE(); @@ -866,11 +866,11 @@ extern "C" { Z3_CATCH_RETURN(0); } - char const * Z3_API Z3_sort_to_string(Z3_context c, Z3_sort s) { + Z3_API char const * Z3_sort_to_string(Z3_context c, Z3_sort s) { return Z3_ast_to_string(c, reinterpret_cast(s)); } - char const * Z3_API Z3_func_decl_to_string(Z3_context c, Z3_func_decl f) { + Z3_API char const * Z3_func_decl_to_string(Z3_context c, Z3_func_decl f) { return Z3_ast_to_string(c, reinterpret_cast(f)); } diff --git a/src/api/api_context.cpp b/src/api/api_context.cpp index 3408cdf3c..49fa10d94 100644 --- a/src/api/api_context.cpp +++ b/src/api/api_context.cpp @@ -548,12 +548,12 @@ extern "C" { } } - char const * Z3_API Z3_get_error_msg(Z3_error_code err) { + Z3_API char const * Z3_get_error_msg(Z3_error_code err) { LOG_Z3_get_error_msg(err); return _get_error_msg_ex(0, err); } - char const * Z3_API Z3_get_error_msg_ex(Z3_context c, Z3_error_code err) { + Z3_API char const * Z3_get_error_msg_ex(Z3_context c, Z3_error_code err) { LOG_Z3_get_error_msg_ex(c, err); return _get_error_msg_ex(c, err); } @@ -577,7 +577,7 @@ extern "C" { }; -ast_manager & Z3_API Z3_get_manager(__in Z3_context c) { +Z3_API ast_manager& Z3_get_manager(__in Z3_context c) { return mk_c(c)->m(); } diff --git a/src/api/api_model.cpp b/src/api/api_model.cpp index f0c31d800..0ae1a9948 100644 --- a/src/api/api_model.cpp +++ b/src/api/api_model.cpp @@ -651,7 +651,7 @@ extern "C" { Z3_CATCH_RETURN(Z3_FALSE); } - char const * Z3_API Z3_model_to_string(Z3_context c, Z3_model m) { + Z3_API char const * Z3_model_to_string(Z3_context c, Z3_model m) { Z3_TRY; LOG_Z3_model_to_string(c, m); RESET_ERROR_CODE(); diff --git a/src/api/api_quant.cpp b/src/api/api_quant.cpp index 4170852a9..727005186 100644 --- a/src/api/api_quant.cpp +++ b/src/api/api_quant.cpp @@ -507,7 +507,7 @@ extern "C" { return (Z3_ast)(p); } - char const * Z3_API Z3_pattern_to_string(Z3_context c, Z3_pattern p) { + Z3_API char const * Z3_pattern_to_string(Z3_context c, Z3_pattern p) { return Z3_ast_to_string(c, reinterpret_cast(p)); } diff --git a/src/api/api_solver_old.cpp b/src/api/api_solver_old.cpp index b81fb2f2c..7e994a0e2 100644 --- a/src/api/api_solver_old.cpp +++ b/src/api/api_solver_old.cpp @@ -297,7 +297,7 @@ extern "C" { Z3_CATCH; } - char const * Z3_API Z3_context_to_string(Z3_context c) { + Z3_API char const * Z3_context_to_string(Z3_context c) { Z3_TRY; LOG_Z3_context_to_string(c); RESET_ERROR_CODE(); diff --git a/src/api/z3_macros.h b/src/api/z3_macros.h index a4a0cb4be..7a0b6857c 100644 --- a/src/api/z3_macros.h +++ b/src/api/z3_macros.h @@ -35,7 +35,11 @@ #endif #ifndef Z3_API -#define Z3_API +# ifdef __GNUC__ +# define Z3_API __attribute__ ((visibility ("default"))) +# else +# define Z3_API +# endif #endif #ifndef DEFINE_TYPE diff --git a/src/ast/ast_smt_pp.cpp b/src/ast/ast_smt_pp.cpp index b28b640bb..805f3070f 100644 --- a/src/ast/ast_smt_pp.cpp +++ b/src/ast/ast_smt_pp.cpp @@ -34,9 +34,9 @@ Revision History: // --------------------------------------- // smt_renaming -const static char* m_predef_names[] = { +static const char m_predef_names[][8] = { "=", ">=", "<=", "+", "-", "*", ">", "<", "!=", "or", "and", "implies", "not", "iff", "xor", - "true", "false", "forall", "exists", "let", "flet", NULL + "true", "false", "forall", "exists", "let", "flet" }; symbol smt_renaming::fix_symbol(symbol s, int k) { @@ -120,8 +120,8 @@ bool smt_renaming::all_is_legal(char const* s) { } smt_renaming::smt_renaming() { - for (const char **p = m_predef_names; *p; ++p) { - symbol s(*p); + for (unsigned i = 0; i < ARRAYSIZE(m_predef_names); ++i) { + symbol s(m_predef_names[i]); m_translate.insert(s, s); m_rev_translate.insert(s, s); } diff --git a/src/ast/rewriter/poly_rewriter.h b/src/ast/rewriter/poly_rewriter.h index 9bdaf4959..6268c761d 100644 --- a/src/ast/rewriter/poly_rewriter.h +++ b/src/ast/rewriter/poly_rewriter.h @@ -26,8 +26,6 @@ Notes: template class poly_rewriter : public Config { -public: - static char const * g_ste_blowup_msg; protected: typedef typename Config::numeral numeral; sort * m_curr_sort; diff --git a/src/ast/rewriter/poly_rewriter_def.h b/src/ast/rewriter/poly_rewriter_def.h index 036221f96..0a00a7199 100644 --- a/src/ast/rewriter/poly_rewriter_def.h +++ b/src/ast/rewriter/poly_rewriter_def.h @@ -22,9 +22,6 @@ Notes: #include"ast_ll_pp.h" #include"ast_smt2_pp.h" -template -char const * poly_rewriter::g_ste_blowup_msg = "sum of monomials blowup"; - template void poly_rewriter::updt_params(params_ref const & _p) { @@ -356,7 +353,7 @@ br_status poly_rewriter::mk_nflat_mul_core(unsigned num_args, expr * con TRACE("som", for (unsigned i = 0; i < it.size(); i++) tout << it[i] << " "; tout << "\n";); if (sum.size() > m_som_blowup) - throw rewriter_exception(g_ste_blowup_msg); + throw rewriter_exception("sum of monomials blowup"); m_args.reset(); for (unsigned i = 0; i < num_args; i++) { expr * const * v = sums[i]; diff --git a/src/cmd_context/cmd_context.cpp b/src/cmd_context/cmd_context.cpp index f5937955d..0c60d876b 100644 --- a/src/cmd_context/cmd_context.cpp +++ b/src/cmd_context/cmd_context.cpp @@ -1185,6 +1185,7 @@ void cmd_context::reset(bool finalize) { restore_assertions(0); if (m_solver) m_solver = 0; + m_scopes.reset(); m_pp_env = 0; m_dt_eh = 0; if (m_manager) { diff --git a/src/smt/database.h b/src/smt/database.h index 1975fe3c3..69843f434 100644 --- a/src/smt/database.h +++ b/src/smt/database.h @@ -1,4 +1,4 @@ -static char const * g_pattern_database = +static char const g_pattern_database[] = "(benchmark patterns \n" " :status unknown \n" " :logic ALL \n" diff --git a/src/util/memory_manager.cpp b/src/util/memory_manager.cpp index 45088d5d4..5f56ded98 100644 --- a/src/util/memory_manager.cpp +++ b/src/util/memory_manager.cpp @@ -60,7 +60,7 @@ static void throw_out_of_memory() { } #ifdef PROFILE_MEMORY -unsigned g_synch_counter = 0; +static unsigned g_synch_counter = 0; class mem_usage_report { public: ~mem_usage_report() { diff --git a/src/util/util.cpp b/src/util/util.cpp index eb9acb385..c4b729adb 100644 --- a/src/util/util.cpp +++ b/src/util/util.cpp @@ -19,7 +19,7 @@ Revision History: #include"util.h" -unsigned g_verbosity_level = 0; +static unsigned g_verbosity_level = 0; void set_verbosity_level(unsigned lvl) { g_verbosity_level = lvl; @@ -40,7 +40,7 @@ std::ostream& verbose_stream() { } -void (*g_fatal_error_handler)(int) = 0; +static void (*g_fatal_error_handler)(int) = 0; void fatal_error(int error_code) { if (g_fatal_error_handler) {