3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00
This commit is contained in:
Nikolaj Bjorner 2018-07-09 09:19:37 -07:00
commit efe440839e
22 changed files with 215 additions and 85 deletions

View file

@ -714,6 +714,12 @@ public:
return temp;
}
mpz dup(const mpz & source) {
mpz temp;
set(temp, source);
return temp;
}
void swap(mpz & a, mpz & b) { mpz_manager<SYNCH>::swap(a, b); }
void swap(mpq & a, mpq & b) {

View file

@ -21,7 +21,6 @@ Revision History:
#ifdef _TRACE
std::ofstream tout(".z3-trace");
#endif
static bool g_enable_all_trace_tags = false;
static str_hashtable* g_enabled_trace_tags = nullptr;
@ -56,13 +55,11 @@ bool is_trace_enabled(const char * tag) {
}
void close_trace() {
#ifdef _TRACE
tout.close();
#endif
}
void open_trace() {
#ifdef _TRACE
tout.open(".z3-trace");
#endif
}
#endif

View file

@ -33,9 +33,6 @@ Revision History:
#ifdef _TRACE
extern std::ofstream tout;
#define TRACE_CODE(CODE) { CODE } ((void) 0 )
#else
#define TRACE_CODE(CODE) ((void) 0)
#endif
void enable_trace(const char * tag);
void enable_all_trace(bool flag);
@ -48,6 +45,19 @@ void finalize_trace();
ADD_FINALIZER('finalize_trace();')
*/
#else
#define TRACE_CODE(CODE) ((void) 0)
static inline void enable_trace(const char * tag) {}
static inline void enable_all_trace(bool flag) {}
static inline void disable_trace(const char * tag) {}
// On a default Visual C++ build on Windows, a non-void function either needs to return a value, or we have to add: #pragma warning(default:4716)
static inline bool is_trace_enabled(const char * tag) { return false; }
static inline void close_trace() {}
static inline void open_trace() {}
static inline void finalize_trace() {}
#endif
#define TRACE(TAG, CODE) TRACE_CODE(if (is_trace_enabled(TAG)) { tout << "-------- [" << TAG << "] " << __FUNCTION__ << " " << __FILE__ << ":" << __LINE__ << " ---------\n"; CODE tout << "------------------------------------------------\n"; tout.flush(); })
#define STRACE(TAG, CODE) TRACE_CODE(if (is_trace_enabled(TAG)) { CODE tout.flush(); })
@ -55,4 +65,3 @@ void finalize_trace();
#define CTRACE(TAG, COND, CODE) TRACE_CODE(if (is_trace_enabled(TAG) && (COND)) { tout << "-------- [" << TAG << "] " << __FUNCTION__ << " " << __FILE__ << ":" << __LINE__ << " ---------\n"; CODE tout << "------------------------------------------------\n"; tout.flush(); })
#endif /* TRACE_H_ */