mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
remove dependency on ARRAYSIZE for issue #1616
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
95963f71f4
commit
2b2f193f2b
11 changed files with 137 additions and 49 deletions
|
@ -23,8 +23,6 @@ Revision History:
|
|||
#if defined(_WINDOWS) || defined(_CYGWIN)
|
||||
|
||||
// Does this redefinition work?
|
||||
#define ARRAYSIZE_TEMP ARRAYSIZE
|
||||
#undef ARRAYSIZE
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
|
@ -68,8 +66,6 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
#undef ARRAYSIZE
|
||||
#define ARRAYSIZE ARRAYSIZE_TEMP
|
||||
#undef max
|
||||
#undef min
|
||||
|
||||
|
|
|
@ -43,6 +43,7 @@ class string_buffer {
|
|||
m_capacity = new_capacity;
|
||||
m_buffer = new_buffer;
|
||||
}
|
||||
static const unsigned c_buffer_size = 24;
|
||||
|
||||
public:
|
||||
string_buffer():
|
||||
|
@ -80,9 +81,9 @@ public:
|
|||
}
|
||||
|
||||
void append(int n) {
|
||||
char buffer[24];
|
||||
char buffer[c_buffer_size];
|
||||
#ifdef _WINDOWS
|
||||
sprintf_s(buffer, ARRAYSIZE(buffer), "%d", n);
|
||||
sprintf_s(buffer, c_buffer_size, "%d", n);
|
||||
#else
|
||||
sprintf(buffer, "%d", n);
|
||||
#endif
|
||||
|
@ -90,9 +91,9 @@ public:
|
|||
}
|
||||
|
||||
void append(unsigned n) {
|
||||
char buffer[24];
|
||||
char buffer[c_buffer_size];
|
||||
#ifdef _WINDOWS
|
||||
sprintf_s(buffer, ARRAYSIZE(buffer), "%d", n);
|
||||
sprintf_s(buffer, c_buffer_size, "%d", n);
|
||||
#else
|
||||
sprintf(buffer, "%d", n);
|
||||
#endif
|
||||
|
@ -100,9 +101,9 @@ public:
|
|||
}
|
||||
|
||||
void append(long n) {
|
||||
char buffer[24];
|
||||
char buffer[c_buffer_size];
|
||||
#ifdef _WINDOWS
|
||||
sprintf_s(buffer, ARRAYSIZE(buffer), "%ld", n);
|
||||
sprintf_s(buffer, c_buffer_size, "%ld", n);
|
||||
#else
|
||||
sprintf(buffer, "%ld", n);
|
||||
#endif
|
||||
|
|
|
@ -49,12 +49,18 @@ static_assert(sizeof(int64_t) == 8, "64 bits");
|
|||
#ifdef _WINDOWS
|
||||
#define SSCANF sscanf_s
|
||||
#define SPRINTF sprintf_s
|
||||
#define SPRINTF_D(_buffer_, _i_) sprintf_s(_buffer_, Z3_ARRAYSIZE(_buffer_), "%d", _i_)
|
||||
#define SPRINTF_U(_buffer_, _u_) sprintf_s(_buffer_, Z3_ARRAYSIZE(_buffer_), "%u", _u_)
|
||||
#define _Exit exit
|
||||
#else
|
||||
#define SSCANF sscanf
|
||||
#define SPRINTF sprintf
|
||||
#define SPRINTF_D(_buffer_, _i_) sprintf(_buffer_, "%d", _i_)
|
||||
#define SPRINTF_U(_buffer_, _u_) sprintf(_buffer_, "%u", _u_)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#define VEC2PTR(_x_) ((_x_).size() ? &(_x_)[0] : 0)
|
||||
|
||||
#ifdef _WINDOWS
|
||||
|
@ -142,9 +148,7 @@ static inline uint64_t shift_left(uint64_t x, uint64_t y) {
|
|||
template<class T, size_t N> char (*ArraySizer(T (&)[N]))[N];
|
||||
// For determining the length of an array. See ARRAYSIZE() macro. This function is never actually called.
|
||||
|
||||
#ifndef ARRAYSIZE
|
||||
#define ARRAYSIZE(a) sizeof(*ArraySizer(a))
|
||||
#endif
|
||||
#define Z3_ARRAYSIZE(a) sizeof(*ArraySizer(a))
|
||||
|
||||
template<typename IT>
|
||||
void display(std::ostream & out, const IT & begin, const IT & end, const char * sep, bool & first) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue