mirror of
https://github.com/carp-lang/Carp.git
synced 2024-09-11 05:25:28 +03:00
Got rid of all but one compiler complaints on Windows.
This commit is contained in:
parent
c258296623
commit
2926abd1c8
13
core/core.h
13
core/core.h
@ -1,5 +1,4 @@
|
||||
#if defined(WIN32) || defined(_WIN32) || \
|
||||
defined(__WIN32) && !defined(__CYGWIN__)
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
|
||||
#include <windows.h>
|
||||
#include <BaseTsd.h>
|
||||
typedef SSIZE_T ssize_t;
|
||||
@ -14,12 +13,20 @@ typedef char *Pattern;
|
||||
#if defined NDEBUG
|
||||
#define CHK_INDEX(i, n)
|
||||
#else
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
|
||||
// The %zd format flag doesn't seem to work on Windows?
|
||||
#define CHK_INDEX_FORMAT_STRING ":%u: bad index: %ld < %ld\n"
|
||||
#else
|
||||
#define CHK_INDEX_FORMAT_STRING ":%u: bad index: %zd < %zd\n"
|
||||
#endif
|
||||
|
||||
#define CHK_INDEX(i, n) \
|
||||
do { \
|
||||
size_t __si = (size_t)i; \
|
||||
size_t __ni = (size_t)n; \
|
||||
if (!(__si < __ni)) { \
|
||||
printf(__FILE__ ":%u: bad index: %zd < %zd\n", __LINE__, \
|
||||
printf(__FILE__ CHK_INDEX_FORMAT_STRING, __LINE__, \
|
||||
(ssize_t)i, (ssize_t)n); \
|
||||
abort(); \
|
||||
} \
|
||||
|
Loading…
Reference in New Issue
Block a user