3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00

use signed character type declarations for cross platform compilation. Fixes issue #210

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-09-05 16:30:58 -07:00
parent 87396bd648
commit 4be3926daa
4 changed files with 5 additions and 4 deletions

View file

@ -295,7 +295,7 @@ namespace smt2 {
scanner::token scanner::scan() { scanner::token scanner::scan() {
while (true) { while (true) {
char c = curr(); signed char c = curr();
m_pos = m_spos; m_pos = m_spos;
switch (m_normalized[(unsigned char) c]) { switch (m_normalized[(unsigned char) c]) {
case ' ': case ' ':

View file

@ -1055,7 +1055,7 @@ namespace fm {
arith_util m_util; arith_util m_util;
constraints m_constraints; constraints m_constraints;
expr_ref_vector m_bvar2expr; expr_ref_vector m_bvar2expr;
char_vector m_bvar2sign; signed_char_vector m_bvar2sign;
obj_map<expr, bvar> m_expr2bvar; obj_map<expr, bvar> m_expr2bvar;
char_vector m_is_int; char_vector m_is_int;
char_vector m_forbidden; char_vector m_forbidden;
@ -2064,7 +2064,7 @@ namespace fm {
switch (m_bvar2sign[p]) { switch (m_bvar2sign[p]) {
case 0: case 0:
new_lits.push_back(lit); new_lits.push_back(lit);
break; break;
case -1: case -1:
if (!sign(lit)) if (!sign(lit))
tautology = true; tautology = true;

View file

@ -382,7 +382,7 @@ class fm_tactic : public tactic {
arith_util m_util; arith_util m_util;
constraints m_constraints; constraints m_constraints;
expr_ref_vector m_bvar2expr; expr_ref_vector m_bvar2expr;
char_vector m_bvar2sign; signed_char_vector m_bvar2sign;
obj_map<expr, bvar> m_expr2bvar; obj_map<expr, bvar> m_expr2bvar;
char_vector m_is_int; char_vector m_is_int;
char_vector m_forbidden; char_vector m_forbidden;

View file

@ -430,6 +430,7 @@ public:
typedef svector<int> int_vector; typedef svector<int> int_vector;
typedef svector<unsigned> unsigned_vector; typedef svector<unsigned> unsigned_vector;
typedef svector<char> char_vector; typedef svector<char> char_vector;
typedef svector<signed char> signed_char_vector;
typedef svector<double> double_vector; typedef svector<double> double_vector;
template<typename Hash, typename Vec> template<typename Hash, typename Vec>