3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-01-18 16:28:56 +00:00

AIX compat (#8113)

* fix name conflict for struct proc

* aix compat
This commit is contained in:
Simon Sobisch 2026-01-05 16:23:05 +01:00 committed by GitHub
parent ff7d0fb501
commit c390afa279
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 14 additions and 6 deletions

View file

@ -2714,6 +2714,10 @@ def mk_config():
SO_EXT = '.so'
SLIBFLAGS = '-shared'
SLIBEXTRAFLAGS = '%s -mimpure-text' % SLIBEXTRAFLAGS
elif sysname == 'AIX':
SO_EXT = '.so'
SLIBFLAGS = '-shared'
SLIBEXTRAFLAGS = '%s' % LDFLAGS
elif sysname.startswith('CYGWIN'):
SO_EXT = '.dll'
SLIBFLAGS = '-shared'

View file

@ -30,12 +30,12 @@ Revision History:
namespace {
struct found {};
struct proc {
struct proc_z3 {
expr * m_n;
#define CHECK() { if (n == m_n) throw found(); }
proc(expr * n):m_n(n) {}
proc_z3(expr * n):m_n(n) {}
void operator()(var const * n) { CHECK(); }
void operator()(app const * n) { CHECK(); }
void operator()(quantifier const * n) { CHECK(); }
@ -63,7 +63,7 @@ namespace {
// Return true if n1 occurs in n2
bool occurs(expr * n1, expr * n2) {
proc p(n1);
proc_z3 p(n1);
try {
quick_for_each_expr(p, n2);
}

View file

@ -27,9 +27,9 @@ bool uses_theory(expr * n, family_id fid) {
namespace {
struct found {};
struct proc {
struct proc_z3 {
family_id m_fid;
proc(family_id fid):m_fid(fid) {}
proc_z3(family_id fid):m_fid(fid) {}
void operator()(var * n) {}
void operator()(app * n) { if (n->get_family_id() == m_fid) throw found(); }
void operator()(quantifier * n) {}
@ -37,7 +37,7 @@ namespace {
}
bool uses_theory(expr * n, family_id fid, expr_mark & visited) {
proc p(fid);
proc_z3 p(fid);
try {
for_each_expr(p, visited, n);
}

View file

@ -92,6 +92,10 @@ static void tst_float_sine_core(std::ostream & out,
out << "Sin[" << fm.to_rational_string(a) << "] <= " << fm.to_rational_string(hi) << "\n";
}
#ifdef SBITS
#undef SBITS
#endif
const unsigned EBITS = 11;
const unsigned SBITS = 53;