Skip to content

Instantly share code, notes, and snippets.

@emoon
Last active August 29, 2015 14:07
Show Gist options
  • Save emoon/7a45d512633d5ef9ee15 to your computer and use it in GitHub Desktop.
Save emoon/7a45d512633d5ef9ee15 to your computer and use it in GitHub Desktop.
Clang version:
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Compile line:
clang -Weverything -c stb.c -o temp.o 2> warnings.txt
-----------------------------------------------------------------
In file included from stb.c:2:
./stb.h:389:33: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
if (p == NULL) return malloc(sz);
~~~~~~ ^~
./stb.h:391:21: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
return realloc(p,sz);
~~~~~~~ ^~
./stb.h:695:28: warning: format string is not a string literal [-Wformat-nonliteral]
vsnprintf(buffer, 1024, fmt, v);
^~~
/usr/include/secure/_stdio.h:75:63: note: expanded from macro 'vsnprintf'
__builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
^
In file included from stb.c:2:
./stb.h:710:28: warning: format string is not a string literal [-Wformat-nonliteral]
vsnprintf(buffer, 1024, fmt, v);
^~~
/usr/include/secure/_stdio.h:75:63: note: expanded from macro 'vsnprintf'
__builtin___vsnprintf_chk (str, len, 0, __darwin_obsz(str), format, ap)
^
In file included from stb.c:2:
./stb.h:836:12: warning: format string is not a string literal [-Wformat-nonliteral]
vprintf(fmt,v);
^~~
./stb.h:887:30: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
c = (*str++ & 0x1f) << 6;
~ ~~~~~~~~~~~~~~~~^~~~
./stb.h:889:26: warning: implicit conversion loses integer precision: 'unsigned int' to 'stb__wchar' (aka 'unsigned short') [-Wconversion]
buffer[i++] = c + (*str++ & 0x3f);
~ ~~^~~~~~~~~~~~~~~~~
./stb.h:893:30: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
c = (*str++ & 0x0f) << 12;
~ ~~~~~~~~~~~~~~~~^~~~~
./stb.h:895:31: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
c += (*str++ & 0x3f) << 6;
~~ ~~~~~~~~~~~~~~~~^~~~
./stb.h:897:26: warning: implicit conversion loses integer precision: 'unsigned int' to 'stb__wchar' (aka 'unsigned short') [-Wconversion]
buffer[i++] = c + (*str++ & 0x3f);
~ ~~^~~~~~~~~~~~~~~~~
./stb.h:902:30: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
c = (*str++ & 0x07) << 18;
~ ~~~~~~~~~~~~~~~~^~~~~
./stb.h:904:31: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
c += (*str++ & 0x3f) << 12;
~~ ~~~~~~~~~~~~~~~~^~~~~
./stb.h:906:31: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
c += (*str++ & 0x3f) << 6;
~~ ~~~~~~~~~~~~~~~~^~~~
./stb.h:934:29: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wconversion]
buffer[i++] = 0xc0 + (*str >> 6);
~ ~~~~~^~~~~~~~~~~~~
./stb.h:935:29: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + (*str & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~
./stb.h:940:62: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
c = ((str[0] - 0xd800) << 10) + ((str[1]) - 0xdc00) + 0x10000;
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
./stb.h:941:29: warning: implicit conversion loses integer precision: 'unsigned int' to 'char' [-Wconversion]
buffer[i++] = 0xf0 + (c >> 18);
~ ~~~~~^~~~~~~~~~~
./stb.h:942:29: warning: implicit conversion changes signedness: 'unsigned int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + ((c >> 12) & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~~~~~~
./stb.h:943:29: warning: implicit conversion changes signedness: 'unsigned int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + ((c >> 6) & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~~~~~~
./stb.h:944:29: warning: implicit conversion changes signedness: 'unsigned int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + ((c ) & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~~~~~~
./stb.h:950:29: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
buffer[i++] = 0xe0 + (*str >> 12);
~ ~~~~~^~~~~~~~~~~~~~
./stb.h:951:29: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + ((*str >> 6) & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~~~~~~~~
./stb.h:952:29: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
buffer[i++] = 0x80 + ((*str ) & 0x3f);
~ ~~~~~^~~~~~~~~~~~~~~~~~~~~~
./stb.h:1021:21: warning: format string is not a string literal [-Wformat-nonliteral]
vfprintf(stderr, s, a);
^
./stb.h:1015:1: warning: function 'stb_fatal' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
{
^
./stb.h:1047:7: warning: no previous extern declaration for non-static variable 'stb__log_filename' [-Wmissing-variable-declarations]
char *stb__log_filename = "stb.log";
^
./stb.h:1064:22: warning: format string is not a string literal [-Wformat-nonliteral]
vfprintf(f, s, a);
^
./stb.h:1078:19: warning: format string is not a string literal [-Wformat-nonliteral]
vfprintf(f, s, a);
^
./stb.h:1136:47: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
char *p = (char *) malloc(sizeof(void *) * count + count * blocksize);
~ ^~~~~
./stb.h:1136:61: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
char *p = (char *) malloc(sizeof(void *) * count + count * blocksize);
~ ~~~~~~^~~~~~~~~~~
./stb.h:1139:8: warning: cast from 'char *' to 'void **' increases required alignment from 1 to 8 [-Wcast-align]
q = (void **) p;
^~~~~~~~~~~
./stb.h:1140:26: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p += sizeof(void *) * count;
~ ^~~~~
./stb.h:1177:21: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
return malloc(want_sz);
~~~~~~ ^~~~~~~
./stb.h:1266:11: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
if (cp == target_pos) return;
~~ ^ ~~~~~~~~~~
./stb.h:1291:7: warning: no previous prototype for function 'stb_quadratic_controller' [-Wmissing-prototypes]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:38: warning: unused parameter 'target_pos' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:56: warning: unused parameter 'curpos' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:70: warning: unused parameter 'maxvel' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:84: warning: unused parameter 'maxacc' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:98: warning: unused parameter 'dt' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1291:109: warning: unused parameter 'curvel' [-Wunused-parameter]
float stb_quadratic_controller(float target_pos, float curpos, float maxvel, float maxacc, float dt, float *curvel)
^
./stb.h:1324:39: warning: implicit conversion loses integer precision: 'int' to 'signed char' [-Wconversion]
tab[i] = (1 << i) + 2*tab[i] - 1;
~ ~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:1329:11: warning: implicit conversion changes signedness: 'signed char' to 'unsigned int' [-Wsign-conversion]
return tab[n];
~~~~~~ ^~~~~~
./stb.h:1377:26: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wconversion]
n = ((n & 0xAA) >> 1) + ((n & 0x55) << 1);
~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
./stb.h:1378:26: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wconversion]
n = ((n & 0xCC) >> 2) + ((n & 0x33) << 2);
~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
./stb.h:1479:5: warning: no previous prototype for function 'stb__intcmp' [-Wmissing-prototypes]
int stb__intcmp(const void *a, const void *b)
^
./stb.h:1481:19: warning: cast from 'const char *' to 'const int *' increases required alignment from 1 to 4 [-Wcast-align]
const int p = *(const int *) ((const char *) a + stb__intcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1482:19: warning: cast from 'const char *' to 'const int *' increases required alignment from 1 to 4 [-Wcast-align]
const int q = *(const int *) ((const char *) b + stb__intcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1486:5: warning: no previous prototype for function 'stb__charcmp' [-Wmissing-prototypes]
int stb__charcmp(const void *a, const void *b)
^
./stb.h:1493:5: warning: no previous prototype for function 'stb__floatcmp' [-Wmissing-prototypes]
int stb__floatcmp(const void *a, const void *b)
^
./stb.h:1495:21: warning: cast from 'const char *' to 'const float *' increases required alignment from 1 to 4 [-Wcast-align]
const float p = *(const float *) ((const char *) a + stb__floatcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1496:21: warning: cast from 'const char *' to 'const float *' increases required alignment from 1 to 4 [-Wcast-align]
const float q = *(const float *) ((const char *) b + stb__floatcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1500:5: warning: no previous prototype for function 'stb__doublecmp' [-Wmissing-prototypes]
int stb__doublecmp(const void *a, const void *b)
^
./stb.h:1502:22: warning: cast from 'const char *' to 'const double *' increases required alignment from 1 to 8 [-Wcast-align]
const double p = *(const double *) ((const char *) a + stb__doublecmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1503:22: warning: cast from 'const char *' to 'const double *' increases required alignment from 1 to 8 [-Wcast-align]
const double q = *(const double *) ((const char *) b + stb__doublecmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1507:5: warning: no previous prototype for function 'stb__qsort_strcmp' [-Wmissing-prototypes]
int stb__qsort_strcmp(const void *a, const void *b)
^
./stb.h:1509:21: warning: cast from 'const char *' to 'const char **' increases required alignment from 1 to 8 [-Wcast-align]
const char *p = *(const char **) ((const char *) a + stb__strcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1510:21: warning: cast from 'const char *' to 'const char **' increases required alignment from 1 to 8 [-Wcast-align]
const char *q = *(const char **) ((const char *) b + stb__strcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1514:5: warning: no previous prototype for function 'stb__qsort_stricmp' [-Wmissing-prototypes]
int stb__qsort_stricmp(const void *a, const void *b)
^
./stb.h:1516:21: warning: cast from 'const char *' to 'const char **' increases required alignment from 1 to 8 [-Wcast-align]
const char *p = *(const char **) ((const char *) a + stb__strcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1517:21: warning: cast from 'const char *' to 'const char **' increases required alignment from 1 to 8 [-Wcast-align]
const char *q = *(const char **) ((const char *) b + stb__strcmpoffset);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1593:31: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval + 1) >> 1);
~ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1593:24: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval + 1) >> 1);
~~~^~~~~~ ~
./stb.h:1593:61: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval + 1) >> 1);
~ ~~~^~~~~~
./stb.h:1603:31: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval) >> 1);
~ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:1603:24: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval) >> 1);
~~~^~~~~~ ~
./stb.h:1603:61: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
s->guess = s->minval + (((unsigned) s->maxval - s->minval) >> 1);
~ ~~~^~~~~~
./stb.h:1826:25: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
a = (char *) malloc(n+1);
~~~~~~ ~^~
./stb.h:1836:12: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wconversion]
*q = tolower(*q);
~ ^~~~~~~~~~~
./stb.h:1845:12: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wconversion]
*s = tolower(*s);
~ ^~~~~~~~~~~
./stb.h:1992:52: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
result = (char **) malloc(sizeof(*result) * (num+1) + (s-src+1));
~ ~~~^~
./stb.h:1992:64: warning: implicit conversion changes signedness: 'long' to 'unsigned long' [-Wsign-conversion]
result = (char **) malloc(sizeof(*result) * (num+1) + (s-src+1));
~ ~~~~~^~
./stb.h:2025:25: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
*out++ = *s++;
~ ^~~~
./stb.h:2030:28: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
*out++ = *s++; // "" -> ", not start string
~ ^~~~
./stb.h:2035:53: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
if (s[1] == '"') { *out++ = *s; s += 2; }
~ ^~
./stb.h:2038:34: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
*out++ = *s++;
~ ^~~~
./stb.h:2054:22: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion]
*out++ = *s++;
~ ^~~~
./stb.h:2120:39: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p = (char *) malloc(strlen(src) + count * (len_replace - len_find) + 1);
^~~~~ ~
./stb.h:2128:44: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
assert(strlen(p) == strlen(src) + count*(len_replace-len_find));
^~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:2147:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
delta = len_replace - len_find;
~ ~~~~~~~~~~~~^~~~~~~~~~
./stb.h:2175:6: warning: no previous prototype for function 'stb__add_section' [-Wmissing-prototypes]
void stb__add_section(char *buffer, char *data, int curlen, int newlen)
^
./stb.h:2190:12: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int n = strlen(path),n1,n2,r1,r2;
~ ^~~~~~~~~~~~
./stb.h:2196:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
n1 = s - path + 1;
~ ~~~~~~~~~^~~
./stb.h:2260:42: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
buffer = (char *) malloc(y-x + len + 1);
~~~~~~ ~~~~~~~~~~^~~
./stb.h:2238:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
f1 = s == NULL ? 0 : s-path; // start of filename
~ ~^~~~~
./stb.h:2239:26: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
f2 = t == NULL ? n : t-path; // just past end of filename
~ ~^~~~~
./stb.h:2462:11: warning: enumeration value 'STB__chunk_raw' not explicitly handled in switch [-Wswitch-enum]
switch(stb__identify(p)) {
^
./stb.h:2520:11: warning: enumeration value 'STB__chunk_raw' not explicitly handled in switch [-Wswitch-enum]
switch(stb__identify(p)) {
^
./stb.h:2576:56: warning: implicit conversion changes signedness: 'int' to 'unsigned long long' [-Wsign-conversion]
assert(((stb_uinta) (memblock+start_offset) & (align-1)) == 0);
~ ~~~~~^~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:2568:9: warning: implicit conversion loses integer precision: 'stb_inta' (aka 'long long') to 'int' [-Wshorten-64-to-32]
iq = (stb_inta) q;
~ ^~~~~~~~~~~~
./stb.h:2636:27: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
assert(sizeof(*n) + pre_align <= 16);
~ ^~~~~~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:2642:39: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
n = (stb__chunk *) malloc(16 + chunk_size);
~~~~~~ ~~~^~~~~~~~~~~~
./stb.h:2645:36: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
n->data_left = chunk_size - sizeof(*n);
~ ~~~~~~~~~~~^~~~~~~~~~~~
./stb.h:2645:25: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
n->data_left = chunk_size - sizeof(*n);
^~~~~~~~~~ ~
./stb.h:2733:23: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
assert(stb_is_pow2(align));
~~~~~~~~~~~ ^~~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:2775:7: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
default: p = NULL; assert(0); /* NOTREACHED */
^
./stb.h:2710:45: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
int align_proposed = 1 << stb_lowbit8(size);
~~~~~~~~~~~ ^~~~
./stb.h:2760:36: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
p = stb__alloc_chunk(src, size, align, 0);
~~~~~~~~~~~~~~~~ ^~~~
./stb.h:2767:20: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (align < sizeof(stb_uintptr)) align = sizeof(stb_uintptr);
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
./stb.h:2768:53: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
s = (stb__chunked *) stb__alloc_chunk(src, size, align, sizeof(*s));
~~~~~~~~~~~~~~~~ ^~~~
./stb.h:2807:7: warning: no previous prototype for function 'stb_malloc_string' [-Wmissing-prototypes]
char *stb_malloc_string(void *context, size_t size)
^
./stb.h:2854:7: warning: no previous prototype for function 'stb_realloc_c' [-Wmissing-prototypes]
void *stb_realloc_c(void *context, void *ptr, size_t newsize)
^
./stb.h:3103:43: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
return stb_malloc(stb__arr_context, size);
~~~~~~~~~~ ^~~~
./stb.h:3104:18: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
return malloc(size);
~~~~~~ ^~~~
./stb.h:3111:48: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
q = (stb__arr *) stb__arr_malloc(sizeof(*q) + elem_size * stb_arrhead2(p)->limit);
~~~~~~~~~~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3111:60: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
q = (stb__arr *) stb__arr_malloc(sizeof(*q) + elem_size * stb_arrhead2(p)->limit);
~ ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3113:54: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memcpy(q, stb_arrhead2(p), sizeof(*q) + elem_size * stb_arrhead2(p)->len);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:3139:51: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
a = (stb__arr *) stb__arr_malloc(sizeof(*a) + size*limit);
~~~~~~~~~~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~
./stb.h:3139:57: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
a = (stb__arr *) stb__arr_malloc(sizeof(*a) + size*limit);
~ ~~~~^~~~~~
./stb.h:3148:16: warning: declaration shadows a local variable [-Wshadow]
void *p;
^
./stb.h:3134:10: note: previous declaration is here
void *p = *pp;
^
./stb.h:3152:50: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p = stb_realloc(a, sizeof(*a) + limit*size);
~ ~~~~~^~~~~
./stb.h:3157:46: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p = realloc(a, sizeof(*a) + limit*size);
~ ~~~~~^~~~~
./stb.h:3263:43: warning: implicit conversion changes signedness: 'char' to 'unsigned int' [-Wsign-conversion]
hash = (hash << 7) + (hash >> 25) + *str++;
~ ^~~~~~
./stb.h:3271:43: warning: implicit conversion changes signedness: 'char' to 'unsigned int' [-Wsign-conversion]
hash = (hash << 7) + (hash >> 25) + *str++;
~ ^~~~~~
./stb.h:3294:23: warning: cast to 'void *' from smaller integer type 'unsigned int' [-Wint-to-void-pointer-cast]
return stb_hashptr((void *) v);
^
./stb.h:3302:46: warning: implicit conversion changes signedness: 'char' to 'unsigned int' [-Wsign-conversion]
hash1 = (hash1 << 7) + (hash1 >> 25) + *str;
~ ^~~~
./stb.h:3303:47: warning: implicit conversion changes signedness: 'char' to 'unsigned int' [-Wsign-conversion]
hash2 = (hash2 << 11) + (hash2 >> 21) + *str;
~ ^~~~
./stb.h:3321:24: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
unsigned int hash = len;
~~~~ ^~~
./stb.h:3329:19: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
hash += stb__get16(q);
~~ ^~~~~~~~~~~~~
./stb.h:3315:26: note: expanded from macro 'stb__get16'
#define stb__get16(p) stb__get16_slow(p)
^~~~~~~~~~~~~~~~~~
./stb.h:3311:36: note: expanded from macro 'stb__get16_slow'
#define stb__get16_slow(p) ((p)[0] + ((p)[1] << 8))
~~~~~~~^~~~~~~~~~~~~~~
./stb.h:3330:35: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
val = (stb__get16(q+2) << 11);
~ ~~~~~~~~~~~~~~~~^~~~~
./stb.h:3338:19: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
hash += stb__get16_slow(q);
~~ ^~~~~~~~~~~~~~~~~~
./stb.h:3311:36: note: expanded from macro 'stb__get16_slow'
#define stb__get16_slow(p) ((p)[0] + ((p)[1] << 8))
~~~~~~~^~~~~~~~~~~~~~~
./stb.h:3339:40: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
val = (stb__get16_slow(q+2) << 11);
~ ~~~~~~~~~~~~~~~~~~~~~^~~~~
./stb.h:3348:23: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
case 3: hash += stb__get16_slow(q);
~~ ^~~~~~~~~~~~~~~~~~
./stb.h:3311:36: note: expanded from macro 'stb__get16_slow'
#define stb__get16_slow(p) ((p)[0] + ((p)[1] << 8))
~~~~~~~^~~~~~~~~~~~~~~
./stb.h:3350:28: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
hash ^= q[2] << 18;
~~ ~~~~~^~~~~
./stb.h:3353:23: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
case 2: hash += stb__get16_slow(q);
~~ ^~~~~~~~~~~~~~~~~~
./stb.h:3311:36: note: expanded from macro 'stb__get16_slow'
#define stb__get16_slow(p) ((p)[0] + ((p)[1] << 8))
~~~~~~~^~~~~~~~~~~~~~~
./stb.h:3430:31: warning: operand of ? changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
return p->table[av] == x ? av : -1;
~~~~~~ ^~
./stb.h:3402:17: warning: padding struct 'stb_perfect' with 4 bytes to align 'large_bmap' [-Wpadded]
stb_uint16 *large_bmap;
^
./stb.h:3405:16: warning: padding struct 'stb_perfect' with 4 bytes to align 'table' [-Wpadded]
stb_uint32 *table;
^
./stb.h:3441:9: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
*b = bv;
~ ^~
./stb.h:3442:9: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
*a = av;
~ ^~
./stb.h:3456:20: warning: padding struct 'stb__slot' with 2 bytes to align 'entries' [-Wpadded]
unsigned short *entries;
^
./stb.h:3469:72: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
unsigned short *as = (unsigned short *) stb_temp(buffer1, sizeof(*v)*n);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3469:73: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
unsigned short *as = (unsigned short *) stb_temp(buffer1, sizeof(*v)*n);
~^
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3470:72: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
unsigned short *bs = (unsigned short *) stb_temp(buffer2, sizeof(*v)*n);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3470:73: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
unsigned short *bs = (unsigned short *) stb_temp(buffer2, sizeof(*v)*n);
~^
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3471:84: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
unsigned short *entries = (unsigned short *) stb_temp(buffer4, sizeof(*entries) * n);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3471:86: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
unsigned short *entries = (unsigned short *) stb_temp(buffer4, sizeof(*entries) * n);
~ ^
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3472:34: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int size = 1 << stb_log2_ceil(n), bsize=8;
~~~~~~~~~~~~~ ^
./stb.h:3479:75: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb__slot *bcount = (stb__slot *) stb_temp(buffer3, sizeof(*bcount) * bsize);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3479:77: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb__slot *bcount = (stb__slot *) stb_temp(buffer3, sizeof(*bcount) * bsize);
~ ^~~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3480:81: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
unsigned short *bloc = (unsigned short *) stb_temp(buffer5, sizeof(*bloc) * bsize);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3480:83: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
unsigned short *bloc = (unsigned short *) stb_temp(buffer5, sizeof(*bloc) * bsize);
~ ^~~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3486:27: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
p->table_mask = size-1;
~ ~~~~^~
./stb.h:3487:24: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
p->b_mask = bsize-1;
~ ~~~~~^~
./stb.h:3488:40: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p->table = (stb_uint32 *) malloc(size * sizeof(*p->table));
^~~~ ~
./stb.h:3491:28: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
bcount[i].b = i;
~ ^
./stb.h:3499:21: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
qsort(bcount, bsize, sizeof(*bcount), stb__slot_compare);
~~~~~ ^~~~~
./stb.h:3505:30: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
bloc[bcount[i].b] = i;
~ ^
./stb.h:3511:49: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
bcount[w].entries[bcount[w].count++] = i;
~ ^
./stb.h:3518:27: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memset(p->table, 0, size*sizeof(*p->table));
^~~~~
/usr/include/secure/_string.h:77:38: note: expanded from macro 'memset'
__builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:3544:37: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (p->table[(a^j)&p->table_mask]) {
~^~ ~
./stb.h:3550:38: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
bcount[i].map = j;
~ ^
./stb.h:3553:36: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
p->table[(a^j)&p->table_mask] = 1;
~^~ ~
./stb.h:3569:83: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p->large_bmap = (unsigned short *) malloc(sizeof(*p->large_bmap) * bsize);
~ ^~~~~
./stb.h:3604:68: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
unsigned int *data = (unsigned int *) stb_temp(buffer3, n * sizeof(*data));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3604:66: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
unsigned int *data = (unsigned int *) stb_temp(buffer3, n * sizeof(*data));
^ ~
./stb.h:1165:66: note: expanded from macro 'stb_temp'
#define stb_temp(block, sz) stb__temp(block, sizeof(block), (sz))
^
./stb.h:3605:42: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memcpy(data, v, sizeof(*data) * n);
~ ^
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:3606:22: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
qsort(data, n, sizeof(*data), stb_intcmp(0));
~~~~~ ^
./stb.h:3484:19: warning: implicit conversion loses integer precision: 'unsigned long' to 'stb_uint32' (aka 'unsigned int') [-Wshorten-64-to-32]
p->addend = stb__perfect_rand();
~ ^~~~~~~~~~~~~~~~~~~
./stb.h:3485:45: warning: implicit conversion loses integer precision: 'unsigned long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
p->multiplicand = stb__perfect_rand() | 1;
~ ~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:3652:33: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int z = stb_perfect_hash(&p, (int) set);
~~~~~~~~~~~~~~~~ ^~~~~~~~~
./stb.h:3668:75: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
tables = (unsigned char (*)[256]) realloc(tables, sizeof(*tables) * k);
~ ^
./stb.h:3669:43: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memset(tables, 0, sizeof(*tables) * k);
~ ^
/usr/include/secure/_string.h:77:38: note: expanded from macro 'memset'
__builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:3671:35: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
k = stb_perfect_hash(&p, (int) sets[i]);
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~
./stb.h:3679:32: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z = stb_perfect_hash(&p, (int) set);
~~~~~~~~~~~~~~~~ ^~~~~~~~~
./stb.h:4027:1: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3780:20: note: expanded from macro 'stb_define_hash_base'
h->mask = count-1; \
~ ~~~~~^~
./stb.h:4027:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3790:65: note: expanded from macro 'stb_define_hash_base'
h->table = (STB_(N,_hashpair)*) malloc(sizeof(h->table[0]) * count); \
~ ^~~~~
./stb.h:4027:1: warning: padding struct 'struct stb__st_stb_ptrmap' with 1 byte to align 'ev' [-Wpadded]
./stb.h:3766:10: note: expanded from macro 'stb_define_hash_base'
VALUE ev; VALUE dv; \
^
./stb.h:4027:1: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:22: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:4027:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:27: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~^~~~~ ~
./stb.h:4027:1: warning: no previous prototype for function 'stb_ptrmap_getkey' [-Wmissing-prototypes]
./stb.h:3855:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N,getkey)(TYPE *a, KEY k, KEY *kout) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb_ptrmap_getkey
^
In file included from stb.c:2:
./stb.h:4027:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3892:14: note: expanded from macro 'stb_define_hash_base'
b = n; \
~ ^
./stb.h:4027:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3903:28: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; \
~ ^
./stb.h:4027:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3912:19: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; else --a->deleted; \
~ ^
./stb.h:4027:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix,stb_ptrmap, STB_nofields, stb_ptrmap_,stb_ptrmap_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3965:34: note: expanded from macro 'stb_define_hash_base'
memcpy(h->table, a->table, h->limit * sizeof(h->table[0])); \
~~~^~~~~ ~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:4057:42: warning: implicit conversion changes signedness: 'stb_int32' (aka 'int') to 'unsigned int' [-Wsign-conversion]
return stb_rehash_improved(k);,stb_int32,STB_nonullvalue,0)
~~~~~~~~~~~~~~~~~~~ ^
./stb.h:3771:4: note: expanded from macro 'stb_define_hash_base'
HASH \
^
./stb.h:4054:1: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3780:20: note: expanded from macro 'stb_define_hash_base'
h->mask = count-1; \
~ ~~~~~^~
./stb.h:4054:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3790:65: note: expanded from macro 'stb_define_hash_base'
h->table = (STB_(N,_hashpair)*) malloc(sizeof(h->table[0]) * count); \
~ ^~~~~
./stb.h:4054:1: warning: padding struct 'struct stb__st_stb_idict' with 4 bytes to align 'table' [-Wpadded]
./stb.h:3757:23: note: expanded from macro 'stb_define_hash_base'
STB_(N,_hashpair) *table; \
^
./stb.h:4054:1: warning: padding struct 'struct stb__st_stb_idict' with 1 byte to align 'ev' [-Wpadded]
./stb.h:3766:10: note: expanded from macro 'stb_define_hash_base'
VALUE ev; VALUE dv; \
^
./stb.h:4054:1: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:22: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:4054:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:27: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~^~~~~ ~
./stb.h:4054:1: warning: no previous prototype for function 'stb_idict_getkey' [-Wmissing-prototypes]
./stb.h:3855:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N,getkey)(TYPE *a, KEY k, KEY *kout) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb_idict_getkey
^
In file included from stb.c:2:
./stb.h:4054:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3892:14: note: expanded from macro 'stb_define_hash_base'
b = n; \
~ ^
./stb.h:4054:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3903:28: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; \
~ ^
./stb.h:4054:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3912:19: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; else --a->deleted; \
~ ^
./stb.h:4054:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_idict, short type; short gc; STB_nofields, stb_idict_,stb_idict_,0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3965:34: note: expanded from macro 'stb_define_hash_base'
memcpy(h->table, a->table, h->limit * sizeof(h->table[0])); \
~~~^~~~~ ~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:4063:24: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (!stb_is_pow2(size))
~~~~~~~~~~~ ^~~~
./stb.h:4064:36: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
size = 1 << stb_log2_ceil(size);
~~~~~~~~~~~~~ ^~~~
./stb.h:4107:1: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3780:20: note: expanded from macro 'stb_define_hash_base'
h->mask = count-1; \
~ ~~~~~^~
./stb.h:4107:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3790:65: note: expanded from macro 'stb_define_hash_base'
h->table = (STB_(N,_hashpair)*) malloc(sizeof(h->table[0]) * count); \
~ ^~~~~
./stb.h:4107:64: warning: padding struct 'struct stb__st_stb_spmatrix' with 4 bytes to align 'arena' [-Wpadded]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^
./stb.h:3756:4: note: expanded from macro 'stb_define_hash_base'
FIELDS \
^
./stb.h:4107:1: warning: padding struct 'struct stb__st_stb_spmatrix' with 1 byte to align 'ev' [-Wpadded]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^
./stb.h:3766:10: note: expanded from macro 'stb_define_hash_base'
VALUE ev; VALUE dv; \
^
./stb.h:4107:1: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:22: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:4107:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:27: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~^~~~~ ~
./stb.h:4107:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3892:14: note: expanded from macro 'stb_define_hash_base'
b = n; \
~ ^
./stb.h:4107:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3903:28: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; \
~ ^
./stb.h:4107:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3912:19: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; else --a->deleted; \
~ ^
./stb.h:4107:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3965:34: note: expanded from macro 'stb_define_hash_base'
memcpy(h->table, a->table, h->limit * sizeof(h->table[0])); \
~~~^~~~~ ~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:4132:42: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
data = stb_malloc_raw(z->arena, z->val_size);
~~~~~~~~~~~~~~ ~~~^~~~~~~~
./stb.h:4175:1: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3780:20: note: expanded from macro 'stb_define_hash_base'
h->mask = count-1; \
~ ~~~~~^~
./stb.h:4175:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3790:65: note: expanded from macro 'stb_define_hash_base'
h->table = (STB_(N,_hashpair)*) malloc(sizeof(h->table[0]) * count); \
~ ^~~~~
./stb.h:4175:1: warning: padding struct 'struct stb__st_stb_sdict' with 1 byte to align 'ev' [-Wpadded]
./stb.h:3766:10: note: expanded from macro 'stb_define_hash_base'
VALUE ev; VALUE dv; \
^
./stb.h:4175:1: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:22: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:4175:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3800:27: note: expanded from macro 'stb_define_hash_base'
return sizeof(*h) + h->limit * sizeof(h->table[0]); \
~~~^~~~~ ~
./stb.h:4175:1: warning: no previous prototype for function 'stb_sdict_getkey' [-Wmissing-prototypes]
./stb.h:3855:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N,getkey)(TYPE *a, KEY k, KEY *kout) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb_sdict_getkey
^
In file included from stb.c:2:
./stb.h:4175:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3892:14: note: expanded from macro 'stb_define_hash_base'
b = n; \
~ ^
./stb.h:4175:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3903:28: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; \
~ ^
./stb.h:4175:1: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3912:19: note: expanded from macro 'stb_define_hash_base'
if (b < 0) b = n; else --a->deleted; \
~ ^
./stb.h:4175:1: warning: no previous prototype for function 'stb_sdictinternal_copy' [-Wmissing-prototypes]
./stb.h:3954:15: note: expanded from macro 'stb_define_hash_base'
PREFIX TYPE * STB__(NC, copy)(TYPE *a) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:18:1: note: expanded from here
stb_sdictinternal_copy
^
In file included from stb.c:2:
./stb.h:4175:1: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_define_hash_base(STB_noprefix, stb_sdict, void*arena;, stb_sdict_,stb_sdictinternal_, 0.85f,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3965:34: note: expanded from macro 'stb_define_hash_base'
memcpy(h->table, a->table, h->limit * sizeof(h->table[0])); \
~~~^~~~~ ~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:5078:10: warning: implicit conversion changes signedness: 'long' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
pos = ftell(f);
~ ^~~~~~~~
./stb.h:5080:10: warning: implicit conversion changes signedness: 'long' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
len = ftell(f);
~ ^~~~~~~~
./stb.h:5081:13: warning: implicit conversion changes signedness: 'size_t' (aka 'unsigned long') to 'long' [-Wsign-conversion]
fseek(f, pos, SEEK_SET);
~~~~~ ^~~
./stb.h:5175:28: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
if (plen) *plen = count;
~ ^~~~~
./stb.h:5202:24: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int n = strlen(p)-1;
~ ~~~~~~~~~^~
./stb.h:5230:37: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
a = (char *) realloc(a, len*2);
~~~~~~~ ~~~^~
./stb.h:5219:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int n = strlen(quick_buffer);
~ ^~~~~~~~~~~~~~~~~~~~
./stb.h:5259:19: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
getcwd(abs, abs_size);
~~~~~~ ^~~~~~~~
./stb.h:5260:11: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
n = strlen(abs);
~ ^~~~~~~~~~~
./stb.h:5280:38: warning: operand of ? changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
res = memcmp(buf1,buf2,stb_min(n1,n2));
~~~~~~ ^~
./stb.h:233:38: note: expanded from macro 'stb_min'
#define stb_min(a,b) ((a) < (b) ? (a) : (b))
^
./stb.h:5280:41: warning: operand of ? changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
res = memcmp(buf1,buf2,stb_min(n1,n2));
~~~~~~ ^~
./stb.h:233:44: note: expanded from macro 'stb_min'
#define stb_min(a,b) ((a) < (b) ? (a) : (b))
^
./stb.h:5278:12: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
n1 = fread(buf1, 1, sizeof(buf1), f);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:5279:12: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
n2 = fread(buf2, 1, sizeof(buf2), g);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:5336:9: warning: padding size of 'stb__file_data' with 4 bytes to alignment boundary [-Wpadded]
typedef struct
^
./stb.h:5363:25: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
p = strlen(name_full)-1;
~ ~~~~~~~~~~~~~~~~~^~
./stb.h:5482:29: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
buffer = (char *) malloc(buf_size);
~~~~~~ ^~~~~~~~
./stb.h:5489:32: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
int n = fread(buffer, 1, buf_size, f);
~~~~~ ^~~~~~~~
./stb.h:5491:28: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fwrite(buffer, 1, n, g);
~~~~~~ ^
./stb.h:5489:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int n = fread(buffer, 1, buf_size, f);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:5514:54: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int stb_size_varlen(int v) { return stb_size_varlenu(stb__varlen_xform(v)); }
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
./stb.h:5512:50: note: expanded from macro 'stb__varlen_xform'
#define stb__varlen_xform(v) (v<0 ? (~v << 1)+1 : (v << 1))
~~~~~~~~~^~
./stb.h:5514:54: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int stb_size_varlen(int v) { return stb_size_varlenu(stb__varlen_xform(v)); }
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
./stb.h:5512:58: note: expanded from macro 'stb__varlen_xform'
#define stb__varlen_xform(v) (v<0 ? (~v << 1)+1 : (v << 1))
~~^~~~
./stb.h:5524:63: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
void stb_fput_varlen(FILE *f, int v) { stb_fput_varlenu(f, stb__varlen_xform(v)); }
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
./stb.h:5512:50: note: expanded from macro 'stb__varlen_xform'
#define stb__varlen_xform(v) (v<0 ? (~v << 1)+1 : (v << 1))
~~~~~~~~~^~
./stb.h:5524:63: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
void stb_fput_varlen(FILE *f, int v) { stb_fput_varlenu(f, stb__varlen_xform(v)); }
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~
./stb.h:5512:58: note: expanded from macro 'stb__varlen_xform'
#define stb__varlen_xform(v) (v<0 ? (~v << 1)+1 : (v << 1))
~~^~~~
./stb.h:5532:10: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
fputc(z,f);
~~~~~ ^
./stb.h:5552:45: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (d == 0xf0) z = stb_fgetc(f) << 24;
~ ~~~~~~~~~~~~~^~~~~
./stb.h:5553:43: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
else z = (d - 0xe0) << 24;
~ ~~~~~~~~~~~^~~~~
./stb.h:5554:31: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z += stb_fgetc(f) << 16;
~~ ~~~~~~~~~~~~~^~~~~
./stb.h:5557:28: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z = (d - 0xc0) << 16;
~ ~~~~~~~~~~~^~~~~
./stb.h:5558:28: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z += stb_fgetc(f) << 8;
~~ ~~~~~~~~~~~~~^~~~
./stb.h:5560:25: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z = (d - 0x80) << 8;
~ ~~~~~~~~~~~^~~~~
./stb.h:5637:16: warning: signed shift result (0x80000000) sets the sign bit of the shift expression's type ('int') and becomes negative [-Wshift-sign-overflow]
if (n <= (1 << 31))
~ ^ ~~
./stb.h:5637:10: warning: comparison of integers of different signs: 'stb_uint' (aka 'unsigned int') and 'int' [-Wsign-compare]
if (n <= (1 << 31))
~ ^ ~~~~~~~
./stb.h:5648:41: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (n > (1 << 24)) v += stb_fgetc(f) << 24;
~~ ~~~~~~~~~~~~~^~~~~
./stb.h:5649:41: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (n > (1 << 16)) v += stb_fgetc(f) << 16;
~~ ~~~~~~~~~~~~~^~~~~
./stb.h:5650:41: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (n > (1 << 8)) v += stb_fgetc(f) << 8;
~~ ~~~~~~~~~~~~~^~~~~
./stb.h:5652:12: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
return b+v;
~~~~~~ ~^~
./stb.h:5652:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
return b+v;
^~
./stb.h:5655:29: warning: unused parameter 'b' [-Wunused-parameter]
int stb_size_ranged(int b, stb_uint n)
^
./stb.h:5663:6: warning: no previous prototype for function 'stb_fput_string' [-Wmissing-prototypes]
void stb_fput_string(FILE *f, char *s)
^
./stb.h:5666:24: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_fput_varlenu(f, len);
~~~~~~~~~~~~~~~~ ^~~
./stb.h:5667:17: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fwrite(s, 1, len, f);
~~~~~~ ^~~
./stb.h:5665:14: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int len = strlen(s);
~~~ ^~~~~~~~~
./stb.h:5671:7: warning: no previous prototype for function 'stb_fget_string' [-Wmissing-prototypes]
char *stb_fget_string(FILE *f, void *p)
^
./stb.h:5674:14: warning: implicit conversion changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
int len = stb_fget_varlenu(f);
~~~ ^~~~~~~~~~~~~~~~~~~
./stb.h:5676:36: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
s = p ? stb_malloc_string(p, len+1) : (char *) malloc(len+1);
~~~~~~~~~~~~~~~~~ ~~~^~
./stb.h:5676:61: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
s = p ? stb_malloc_string(p, len+1) : (char *) malloc(len+1);
~~~~~~ ~~~^~
./stb.h:5677:16: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fread(s, 1, len, f);
~~~~~ ^~~
./stb.h:5682:7: warning: no previous prototype for function 'stb_strdup' [-Wmissing-prototypes]
char *stb_strdup(char *str, void *pool)
^
./stb.h:5685:41: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
char *p = stb_malloc_string(pool, len+1);
~~~~~~~~~~~~~~~~~ ~~~^~
./stb.h:5684:14: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int len = strlen(str);
~~~ ^~~~~~~~~~~
./stb.h:5692:7: warning: no previous prototype for function 'stb_strip_final_slash' [-Wmissing-prototypes]
char *stb_strip_final_slash(char *t)
^
./stb.h:5763:42: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
s = (char *) malloc(len+2);
~~~~~~ ~~~^~
./stb.h:5762:25: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
len = strlen(t);
~ ^~~~~~~~~
./stb.h:5882:27: warning: declaration shadows a local variable [-Wshadow]
char buffer[512],*p=buffer;
^
./stb.h:5821:9: note: previous declaration is here
char buffer[512], with_slash[512];
^
./stb.h:5836:8: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
n = strlen(buffer);
~ ^~~~~~~~~~~~~~
./stb.h:5911:5: warning: no previous extern declaration for non-static variable 'stb__rec_max' [-Wmissing-variable-declarations]
int stb__rec_max=0x7fffffff;
^
./stb.h:5992:32: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
if (stb_strnicmp(dir, file, dirlen)) return STB_FALSE;
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
./stb.h:1464:48: note: expanded from macro 'stb_strnicmp'
#define stb_strnicmp(a,b,n) strncasecmp(a,b,n)
^
./stb.h:6042:23: warning: operand of ? changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
qsort(descendents, stb_arr_len(descendents), sizeof(char *), stb_qsort_stricmp(0));
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:53: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
~~~~~~~~~~~~~~~~^~~
./stb.h:6046:13: warning: declaration shadows a local variable [-Wshadow]
char *s = descendents[i] + elen, *t;
^
./stb.h:6005:10: note: previous declaration is here
char *s;
^
./stb.h:6051:24: warning: declaration shadows a local variable [-Wshadow]
stb_dirtree2 *t = stb_dirtree2_from_files_relative(buffer2, descendents, stb_arr_len(descendents));
^
./stb.h:6046:41: note: previous declaration is here
char *s = descendents[i] + elen, *t;
^
./stb.h:6001:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int dlen = strlen(src), elen;
~~~~ ^~~~~~~~~~~
./stb.h:6049:60: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
stb_strncpy(buffer2, descendents[i], t-descendents[i]+1);
~~~~~~~~~~~ ~~~~~~~~~~~~~~~~^~
./stb.h:6142:22: warning: implicit conversion loses integer precision: 'unsigned long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
return (s2 << 16) + s1;
~~~~~~ ~~~~~~~~~~~^~~~
./stb.h:6152:14: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
w[i] = stb_big32(&chunk[i*4]);
~ ^~~~~~~~~~~~~~~~~~~~~~
./stb.h:1348:67: note: expanded from macro 'stb_big32'
#define stb_big32(c) (((c)[0]<<24) + (c)[1]*65536 + (c)[2]*256 + (c)[3])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
./stb.h:6210:22: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
end_start = len & ~63;
~ ^~~
./stb.h:6213:19: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if (((len+9) & ~63) == end_start) {
~ ^~~
./stb.h:6235:27: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'unsigned char' [-Wconversion]
final_block[j++] = len >> 21;
~ ~~~~^~~~~
./stb.h:6236:27: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'unsigned char' [-Wconversion]
final_block[j++] = len >> 13;
~ ~~~~^~~~~
./stb.h:6237:27: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'unsigned char' [-Wconversion]
final_block[j++] = len >> 5;
~ ~~~~^~~~~
./stb.h:6238:27: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'unsigned char' [-Wconversion]
final_block[j++] = len << 3;
~ ~~~~^~~~~
./stb.h:6250:30: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
output[i*4 + 1] = h[i] >> 16;
~ ~~~~~^~~~~
./stb.h:6251:30: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
output[i*4 + 2] = h[i] >> 8;
~ ~~~~~^~~~~
./stb.h:6252:30: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
output[i*4 + 3] = h[i] >> 0;
~ ~~~~~^~~~~
./stb.h:6532:16: warning: declaration shadows a local variable [-Wshadow]
char *s = z->loaded_file + 12;
^
./stb.h:6530:13: note: previous declaration is here
char *s = z->loaded_file;
^
./stb.h:6535:22: warning: cast from 'char *' to 'stb_int16 *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
int n = *(stb_int16 *) s;
^~~~~~~~~~~~~~~
./stb.h:6538:28: warning: cast from 'char *' to 'int *' increases required alignment from 1 to 4 [-Wcast-align]
a.value_len = *(int *) s;
^~~~~~~~~
./stb.h:6477:9: warning: padding size of 'stb__cfg_item' with 4 bytes to alignment boundary [-Wpadded]
typedef struct
^
./stb.h:6563:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'stb_int16' (aka 'short') [-Wconversion]
stb_int16 n = strlen(z->data[i].key)+1;
~ ~~~~~~~~~~~~~~~~~~~~~~^~
./stb.h:6565:33: warning: implicit conversion changes signedness: 'stb_int16' (aka 'short') to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fwrite(z->data[i].key, n, 1, z->f);
~~~~~~ ^
./stb.h:6567:46: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fwrite(z->data[i].value, z->data[i].value_len, 1, z->f);
~~~~~~ ~~~~~~~~~~~^~~~~~~~~
./stb.h:6603:37: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
z->data[i].value = stb_malloc(z, len);
~~~~~~~~~~ ^~~
./stb.h:6628:46: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
stb_cfg_write(z, key, value, strlen(value)+1);
~~~~~~~~~~~~~ ~~~~~~~~~~~~~^~
./stb.h:7058:16: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
int s,n = h & stb__alloc_mask;
~ ~~^~~~~~~~~~~~~~~~~
./stb.h:7058:18: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int s,n = h & stb__alloc_mask;
~ ^~~~~~~~~~~~~~~
./stb.h:7061:21: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
s = stb_rehash(h)|1;
~ ~~~~~~~~~~~~~^~
./stb.h:7100:84: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb__allocations = (stb_malloc_record *) stb__realloc_raw(NULL, stb__alloc_size * sizeof(stb__allocations[0]));
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7100:68: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb__allocations = (stb_malloc_record *) stb__realloc_raw(NULL, stb__alloc_size * sizeof(stb__allocations[0]));
^~~~~~~~~~~~~~~ ~
./stb.h:7103:32: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memset(stb__allocations, 0, stb__alloc_size * sizeof(stb__allocations[0]));
^~~~~~~~~~~~~~~ ~
/usr/include/secure/_string.h:77:38: note: expanded from macro 'memset'
__builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:7127:10: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
n = h & stb__alloc_mask;
~ ~~^~~~~~~~~~~~~~~~~
./stb.h:7127:12: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
n = h & stb__alloc_mask;
~ ^~~~~~~~~~~~~~~
./stb.h:7129:28: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
int s = stb_rehash(h)|1;
~ ~~~~~~~~~~~~~^~
./stb.h:7356:43: warning: zero size arrays are an extension [-Wzero-length-array]
typedef char stb__verify_bucket_heap_size[sizeof(stb_ps_bucket) == 16];
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7413:62: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_ps_hash *h = (stb_ps_hash *) malloc(sizeof(*h) + (size-1) * sizeof(h->table[0]));
~~~~^~ ~
./stb.h:7414:23: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
assert(stb_is_pow2(size));
~~~~~~~~~~~ ^~~~
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:7423:24: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memset(h->table, 0, size * sizeof(h->table[0]));
^~~~ ~
/usr/include/secure/_string.h:77:38: note: expanded from macro 'memset'
__builtin___memset_chk (dest, val, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:7434:43: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
case STB_ps_bucket: stb_bucket_free(GetBucket(ps)); break;
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7388:10: warning: padding struct 'stb_ps_array' with 4 bytes to align 'p' [-Wpadded]
void *p[1];
^
./stb.h:7435:32: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
case STB_ps_array : free(GetArray(ps)); break;
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7436:32: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
case STB_ps_hash : free(GetHash(ps)); break;
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7448:16: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
*n = *GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7452:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7453:65: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_ps_array *n = (stb_ps_array *) malloc(sizeof(*n) + stb_ps_array_max * sizeof(n->p[0]));
^~~~~~~~~~~~~~~~ ~
./stb.h:7460:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7478:26: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7486:25: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7492:24: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7494:35: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_uint32 s, n = hash & h->mask;
~ ~~~^~~~
./stb.h:7500:27: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
n = (n + s) & h->mask;
~ ~~~^~~~
./stb.h:7523:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7539:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7542:68: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_ps_hash *h = stb_ps_makehash(2 << stb_log2_ceil(a->count), a->count, a->p);
~~~~~~~~~~~~~ ~~~^~~~~
./stb.h:7555:66: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
a = (stb_ps_array *) realloc(a, sizeof(*a) + (newsize-1) * sizeof(a->p[0]));
~~~~~~~^~ ~
./stb.h:7561:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7563:35: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_uint32 n = hash & h->mask;
~ ~~~^~~~
./stb.h:7569:33: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
n = (n + s) & h->mask;
~ ~~~^~~~
./stb.h:7603:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7622:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7638:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7640:38: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_uint32 s, n = hash & h->mask;
~ ~~~^~~~
./stb.h:7645:33: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
n = (n + s) & h->mask;
~ ~~~^~~~
./stb.h:7653:17: warning: declaration shadows a local variable [-Wshadow]
int n = 1 << stb_log2_floor(stb_ps_array_max);
^
./stb.h:7640:24: note: previous declaration is here
stb_uint32 s, n = hash & h->mask;
^
./stb.h:7653:41: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int n = 1 << stb_log2_floor(stb_ps_array_max);
~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
./stb.h:7655:73: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_ps_array *a = (stb_ps_array *) malloc(sizeof(*a) + (n-1) * sizeof(a->p[0]));
~^~ ~
./stb.h:7685:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7702:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7710:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7712:28: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
stb_uint32 n = h->any_offset;
~ ~~~^~~~~~~~~~
./stb.h:7714:30: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
n = (n + 1) & h->mask;
~ ~~~^~~~
./stb.h:7716:32: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
h->any_offset = (n+1) & h->mask;
~ ~~~~~~^~~~~~~~~
./stb.h:7716:37: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h->any_offset = (n+1) & h->mask;
~ ~~~^~~~
./stb.h:7742:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7750:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7751:47: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p = (void **) malloc(sizeof(*p) * a->count);
~ ~~~^~~~~
./stb.h:7752:42: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memcpy(p, a->p, sizeof(*p) * a->count);
~ ~~~^~~~~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:7757:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7758:47: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
p = (void **) malloc(sizeof(*p) * h->count);
~ ~~~^~~~~
./stb.h:7766:11: warning: variable 'p' may be uninitialized when used here [-Wconditional-uninitialized]
return p;
^
./stb.h:7733:12: note: initialize the variable 'p' to silence this warning
void **p;
^
= NULL
./stb.h:7778:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7785:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7787:45: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memcpy(list, a->p, sizeof(*list) * n);
~ ^
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:7791:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7813:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7821:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7828:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7845:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7850:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7854:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7872:29: warning: cast from 'char *' to 'stb_ps_bucket *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_bucket *b = GetBucket(ps);
^~~~~~~~~~~~~
./stb.h:7353:26: note: expanded from macro 'GetBucket'
#define GetBucket(p) ((stb_ps_bucket *) ((char *) (p) - STB_ps_bucket))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7877:28: warning: cast from 'char *' to 'stb_ps_array *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_array *a = GetArray(ps);
^~~~~~~~~~~~
./stb.h:7390:26: note: expanded from macro 'GetArray'
#define GetArray(p) ((stb_ps_array *) ((char *) (p) - STB_ps_array))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7882:27: warning: cast from 'char *' to 'stb_ps_hash *' increases required alignment from 1 to 8 [-Wcast-align]
stb_ps_hash *h = GetHash(ps);
^~~~~~~~~~~
./stb.h:7405:26: note: expanded from macro 'GetHash'
#define GetHash(p) ((stb_ps_hash *) ((char *) (p) - STB_ps_hash))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:7983:29: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
int j = stb_randLCG() % i;
~ ~~~~~~~~~~~~~~^~~
./stb.h:7983:31: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
int j = stb_randLCG() % i;
~ ^
./stb.h:7984:32: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_swap(a, (char *) p + j * sz, sz);
^ ~
./stb.h:7982:11: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
for (i=n; i > 1; --i) {
~^
./stb.h:7988:20: warning: variable 'old_seed' may be uninitialized when used here [-Wconditional-uninitialized]
stb_srandLCG(old_seed);
^~~~~~~~
./stb.h:7976:26: note: initialize the variable 'old_seed' to silence this warning
unsigned long old_seed;
^
= 0
./stb.h:7995:29: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_swap((char *) p + i * sz, (char *) p + j * sz, sz);
^ ~
./stb.h:7995:50: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_swap((char *) p + i * sz, (char *) p + j * sz, sz);
^ ~
./stb.h:7993:15: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
int i,j = n-1;
~ ~^~
./stb.h:8002:5: warning: no previous extern declaration for non-static variable 'stb__mt_index' [-Wmissing-variable-declarations]
int stb__mt_index = STB__MT_LEN*sizeof(unsigned long)+1;
^
./stb.h:8047:24: warning: implicit conversion changes signedness: 'unsigned long' to 'int' [-Wsign-conversion]
stb__mt_index = idx + sizeof(unsigned long);
~ ~~~~^~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8047:20: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb__mt_index = idx + sizeof(unsigned long);
^~~ ~
./stb.h:8049:9: warning: cast from 'unsigned char *' to 'unsigned long *' increases required alignment from 1 to 8 [-Wcast-align]
r = *(unsigned long *)((unsigned char *)b + idx);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8030:12: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (idx >= STB__MT_LEN*sizeof(unsigned long)) {
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8031:15: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
if (idx > STB__MT_LEN*sizeof(unsigned long))
~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8175:65: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
sd->hash_table = (void ***) malloc(sizeof(*sd->hash_table) * hsize);
~ ^~~~~
./stb.h:8186:22: warning: implicit conversion changes signedness: 'int' to 'stb_uint32' (aka 'unsigned int') [-Wsign-conversion]
stb_uint32 hash = sd->hash(item, sd->hash_shift);
~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8186:41: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
stb_uint32 hash = sd->hash(item, sd->hash_shift);
~~ ~~~~^~~~~~~~~~
./stb.h:8187:17: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
int z = hash & (sd->hash_size-1);
~ ~~~~~^~~~~~~~~~~~~~~~~~~
./stb.h:8187:33: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int z = hash & (sd->hash_size-1);
~ ~~~~~~~~~~~~~^~
./stb.h:8230:54: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
d->hash_shift = stb_randLCG_explicit(sd->hash_shift);
~~~~~~~~~~~~~~~~~~~~ ~~~~^~~~~~~~~~
./stb.h:8245:25: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
qsort(list, n, sizeof(list[0]), stb__dupe_compare);
~~~~~ ^
./stb.h:8258:62: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
memcpy(mylist, list+j, sizeof(list[j]) * (k-j));
~ ~^~
/usr/include/secure/_string.h:65:38: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:8230:29: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
d->hash_shift = stb_randLCG_explicit(sd->hash_shift);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8481:55: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_bitset *d = (stb_bitset *) malloc(sizeof(*d) * len);
~ ^~~
./stb.h:8502:55: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_bitset *d = (stb_bitset *) malloc(sizeof(*d) * len);
~ ^~~
./stb.h:8503:23: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
if (value) value = 0xffffffff;
~ ^~~~~~~~~~
./stb.h:8504:35: warning: implicit conversion changes signedness: 'int' to 'stb_bitset' (aka 'unsigned int') [-Wsign-conversion]
for (i=0; i < len; ++i) d[i] = value;
~ ^~~~~
./stb.h:8699:25: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wconversion]
if (insensitive) c = tolower(c);
~ ^~~~~~~~~~
./stb.h:8711:5: warning: no previous prototype for function 'stb__wildmatch_raw2' [-Wmissing-prototypes]
int stb__wildmatch_raw2(char *expr, char *candidate, int search, int insensitive)
^
./stb.h:8799:5: warning: no previous prototype for function 'stb__wildmatch_raw' [-Wmissing-prototypes]
int stb__wildmatch_raw(char *expr, char *candidate, int search, int insensitive)
^
./stb.h:8809:42: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
stb_strncpy(buffer, last, s-last+1);
~~~~~~~~~~~ ~~~~~~^~
./stb.h:8861:18: warning: padding struct 'stb_nfa_node' with 5 bytes to align 'out' [-Wpadded]
stb_nfa_edge *out;
^
./stb.h:8907:4: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].eps, to);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8907:4: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].eps, to);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8907:4: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].eps, to);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8907:4: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].eps, to);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8907:43: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_arr_push(matcher->nodes[from].eps, to);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:2951:51: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^
./stb.h:8912:23: warning: implicit conversion loses integer precision: 'int' to 'stb_int16' (aka 'short') [-Wconversion]
stb_nfa_edge z = { type, to };
~ ^~~~
./stb.h:8912:29: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_nfa_edge z = { type, to };
~ ^~
./stb.h:8915:4: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].out, z);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8915:4: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].out, z);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8915:4: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].out, z);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8915:4: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(matcher->nodes[from].out, z);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:8923:26: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_uint16 last_end = start;
~~~~~~~~ ^~~~~
./stb.h:8958:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:8976:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:8984:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:8992:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9019:20: warning: implicit conversion changes signedness: 'char' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
a = *regex++;
~ ^~~~~~~~
./stb.h:9021:34: warning: implicit conversion changes signedness: 'char' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_uint i,b = regex[1];
~ ^~~~~~~~
./stb.h:9041:36: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
unsigned int f = k[flags[i]];
~ ^~~~~~~~~~~
./stb.h:9042:46: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
if ((matcher->charset[i] & k[1]) != f)
~ ^~~~
./stb.h:9063:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9074:26: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_uint16 last_end = start;
~~~~~~~~ ^~~~~
./stb.h:9106:11: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
*end = tail;
~ ^~~~
./stb.h:9115:15: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = stb__add_node(matcher);
~ ^~~~~~~~~~~~~~~~~~~~~~
./stb.h:9129:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9136:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9145:24: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9154:15: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
last_end = n;
~ ^
./stb.h:9165:11: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
if (stb_arr_len(p->out)) return n;
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9166:11: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
if (stb_arr_len(p->eps) != 1) return n;
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9178:21: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
for (j=0; j < stb_arr_len(p->out); ++j)
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9179:27: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
p->out[j].node = stb__opt(m,p->out[j].node);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:9180:21: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
for (j=0; j < stb_arr_len(p->eps); ++j)
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9181:27: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
p->eps[j] = stb__opt(m,p->eps[j] );
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:9183:20: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
m->start_node = stb__opt(m,m->start_node);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:8878:16: warning: padding struct 'struct stb_matcher' with 4 bytes to align 'charset' [-Wpadded]
stb_uint32 *charset;
^
./stb.h:8885:17: warning: padding struct 'struct stb_matcher' with 4 bytes to align 'dfa' [-Wpadded]
stb_dfa * dfa;
^
./stb.h:8874:8: warning: padding size of 'struct stb_matcher' with 4 bytes to alignment boundary [-Wpadded]
struct stb_matcher
^
./stb.h:9264:37: warning: implicit conversion loses integer precision: 'int' to 'stb_int16' (aka 'short') [-Wconversion]
matcher->nodes[(int) end].goal = result;
~ ^~~~~~
./stb.h:9280:37: warning: implicit conversion loses integer precision: 'int' to 'stb_int16' (aka 'short') [-Wconversion]
matcher->nodes[(int) end].goal = result;
~ ^~~~~~
./stb.h:9287:18: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
for (i=0; i < stb_arr_len(list); ++i)
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9294:18: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
for (i=0; i < stb_arr_len(list); ++i) {
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9304:7: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(list, n);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9304:7: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(list, n);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9304:7: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(list, n);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9304:7: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(list, n);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9304:26: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_arr_push(list, n);
~~~~~~~~~~~~~~~~~~~^~
./stb.h:2951:51: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^
./stb.h:9312:14: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
int i,n = stb_arr_len(list);
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9317:20: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
int j,k = stb_arr_len(e);
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9320:14: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
n = stb_arr_len(list);
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9342:19: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
while (*str && stb_arr_len(previous)) {
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9343:11: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
y = stb_arr_len(previous);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9346:14: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
z = stb_arr_len(n->out);
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9355:20: warning: declaration shadows a local variable [-Wshadow]
int z = -n->out[j].match - 2;
^
./stb.h:9330:14: note: previous declaration is here
int i,j,y,z;
^
./stb.h:9374:8: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
y = stb_arr_len(previous);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9380:11: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
z = stb_arr_len(n->out);
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9390:8: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
y = stb_arr_len(previous);
^~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9401:11: warning: no previous prototype for function 'stb__get_dfa_node' [-Wmissing-prototypes]
stb_int16 stb__get_dfa_node(stb_matcher *m, stb_uint16 *list)
^
./stb.h:9410:8: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
n = stb_arr_len(list);
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9421:66: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
if (!memcmp(state, m->dfa_mapping + j, m->num_words_per_dfa*4)) {
~~~~~~ ~~~~~~~~~~~~~~~~~~~~^~
./stb.h:9422:17: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
node = i;
~ ^
./stb.h:9427:11: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
assert(stb_arr_len(m->dfa) == i);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:9428:11: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
node = i;
~ ^
./stb.h:9434:4: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_add(m->dfa);
^~~~~~~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9434:4: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_add(m->dfa);
^~~~~~~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9434:4: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_add(m->dfa);
^~~~~~~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9434:4: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_add(m->dfa);
^~~~~~~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9439:11: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
n = stb_arr_len(list);
^~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9445:7: warning: cast from 'stb_int16 *' (aka 'short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(m->dfa_result, result);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9445:7: warning: cast from 'stb_int16 *' (aka 'short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(m->dfa_result, result);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9445:7: warning: cast from 'stb_int16 *' (aka 'short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(m->dfa_result, result);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9445:7: warning: cast from 'stb_int16 *' (aka 'short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(m->dfa_result, result);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9445:35: warning: implicit conversion loses integer precision: 'int' to 'stb_int16' (aka 'short') [-Wconversion]
stb_arr_push(m->dfa_result, result);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
./stb.h:2951:51: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^
./stb.h:9450:11: warning: implicit conversion changes signedness: 'stb_uint16' (aka 'unsigned short') to 'stb_int16' (aka 'short') [-Wsign-conversion]
return node;
~~~~~~ ^~~~
./stb.h:9504:39: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
assert(node >= STB__DFA_MGOAL - stb_arr_len(m->dfa));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:9505:21: warning: cast from 'stb_dfa *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
assert(node < stb_arr_len(m->dfa));
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/assert.h:93:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0)
^
In file included from stb.c:2:
./stb.h:9536:19: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(states, j*32+i);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9536:19: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(states, j*32+i);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9536:19: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(states, j*32+i);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9536:19: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
stb_arr_push(states, j*32+i);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9536:44: warning: implicit conversion loses integer precision: 'int' to 'stb_uint16' (aka 'unsigned short') [-Wconversion]
stb_arr_push(states, j*32+i);
~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:2951:51: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^
./stb.h:9543:14: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
y = stb_arr_len(states);
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9546:17: warning: cast from 'stb_nfa_edge *' to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
z = stb_arr_len(n->out);
^~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9555:23: warning: declaration shadows a local variable [-Wshadow]
int z = -n->out[j].match - 2;
^
./stb.h:9528:20: note: previous declaration is here
int i,j,y,z;
^
./stb.h:9576:37: warning: cast from 'stb_uint16 *' (aka 'unsigned short *') to 'stb__arr *' increases required alignment from 2 to 4 [-Wcast-align]
} else if (str[-1] == 0 || stb_arr_len(newstates) == 0) {
^~~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:9510:29: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
match_length = str - (stb_uint8 *) str_c;
~ ~~~~^~~~~~~~~~~~~~~~~~~~~
./stb.h:9569:35: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
match_length = str - (stb_uint8 *) str_c;
~ ~~~~^~~~~~~~~~~~~~~~~~~~~
./stb.h:9625:33: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
int z = stb_perfect_hash(&p, (int) regex);
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~
./stb.h:9654:53: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
mapping = (unsigned short *) realloc(mapping, n * sizeof(*mapping));
^ ~
./stb.h:9656:39: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
mapping[stb_perfect_hash(&p, (int) regexps[i])] = i;
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~
./stb.h:9656:60: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
mapping[stb_perfect_hash(&p, (int) regexps[i])] = i;
~ ^
./stb.h:9657:32: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
z = stb_perfect_hash(&p, (int) regex);
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~
./stb.h:9954:66: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
return (input[8] << 24) + (input[9] << 16) + (input[10] << 8) + input[11];
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
./stb.h:9997:91: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else if (*i >= 0x10) stb__match(stb__dout-(stb__in3(0) - 0x100000 + 1), stb__in2(3)+1), i += 5;
~~~~~~~~~~ ~~~~~~~~~~~^~
./stb.h:9998:64: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else if (*i >= 0x08) stb__lit(i+2, stb__in2(0) - 0x0800 + 1), i += 2 + (stb__in2(0) - 0x0800 + 1);
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:9999:55: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else if (*i == 0x07) stb__lit(i+3, stb__in2(1) + 1), i += 3 + (stb__in2(1) + 1);
~~~~~~~~ ~~~~~~~~~~~~^~~
./stb.h:10001:78: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else if (*i == 0x04) stb__match(stb__dout-(stb__in3(1)+1), stb__in2(4)+1), i += 6;
~~~~~~~~~~ ~~~~~~~~~~~^~
./stb.h:10047:8: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
n = ftell(f);
~ ^~~~~~~~
./stb.h:10155:4: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(v >> 8);
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10156:4: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(v);
^~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10159:36: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
static void stb_out3(stb_uint v) { stb_out(v >> 16); stb_out(v >> 8); stb_out(v); }
^~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10159:54: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
static void stb_out3(stb_uint v) { stb_out(v >> 16); stb_out(v >> 8); stb_out(v); }
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10159:71: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
static void stb_out3(stb_uint v) { stb_out(v >> 16); stb_out(v >> 8); stb_out(v); }
^~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10160:36: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
static void stb_out4(stb_uint v) { stb_out(v >> 24); stb_out(v >> 16);
^~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10160:54: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
static void stb_out4(stb_uint v) { stb_out(v >> 24); stb_out(v >> 16);
^~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10161:36: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(v >> 8 ); stb_out(v); }
^~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10161:54: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(v >> 8 ); stb_out(v); }
^~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10172:33: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
else if (numlit <= 32) stb_out (0x000020 + numlit-1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10173:59: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else if (numlit <= 2048) stb_out2(0x000800 + numlit-1);
~~~~~~~~ ~~~~~~~~~~~~~~~~~^~
./stb.h:10174:59: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
else /* numlit <= 65536) */ stb_out3(0x070000 + numlit-1);
~~~~~~~~ ~~~~~~~~~~~~~~~~~^~
./stb.h:10180:21: warning: implicit conversion changes signedness: 'int' to 'size_t' (aka 'unsigned long') [-Wsign-conversion]
fwrite(in, 1, numlit, stb__outfile);
~~~~~~ ^~~~~~
./stb.h:10255:11: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
h = stb__hc3(q,0, 1, 2); h1 = STB__SCRAMBLE(h);
~ ^~~~~~~~~~~~~~~~~~~
./stb.h:10210:57: note: expanded from macro 'stb__hc3'
#define stb__hc3(q,c,d,e) ((q[c] << 14) + (q[d] << 7) + q[e])
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
./stb.h:10256:61: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
t = chash[h1]; if (t) STB__TRY(t,0);
^~~~~~~~~~~~~
./stb.h:10247:32: note: expanded from macro 'STB__TRY'
if ((m = stb_matchlen(t, q, match_max)) > best) \
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10257:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h = stb__hc2(q,h, 3, 4); h2 = STB__SCRAMBLE(h);
^~~~~~~~~~~~~~~~~~~
./stb.h:10209:64: note: expanded from macro 'stb__hc2'
#define stb__hc2(q,h,c,d) (((h) << 14) + ((h) >> 18) + (q[c] << 7) + q[d])
~ ~~~~~^~~~
./stb.h:10258:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h = stb__hc2(q,h, 5, 6); t = chash[h2]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~~~~~~~
./stb.h:10209:64: note: expanded from macro 'stb__hc2'
#define stb__hc2(q,h,c,d) (((h) << 14) + ((h) >> 18) + (q[c] << 7) + q[d])
~ ~~~~~^~~~
./stb.h:10258:61: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
h = stb__hc2(q,h, 5, 6); t = chash[h2]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10247:32: note: expanded from macro 'STB__TRY'
if ((m = stb_matchlen(t, q, match_max)) > best) \
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10259:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h = stb__hc2(q,h, 7, 8); h3 = STB__SCRAMBLE(h);
^~~~~~~~~~~~~~~~~~~
./stb.h:10209:64: note: expanded from macro 'stb__hc2'
#define stb__hc2(q,h,c,d) (((h) << 14) + ((h) >> 18) + (q[c] << 7) + q[d])
~ ~~~~~^~~~
./stb.h:10260:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h = stb__hc2(q,h, 9,10); t = chash[h3]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~~~~~~~
./stb.h:10209:64: note: expanded from macro 'stb__hc2'
#define stb__hc2(q,h,c,d) (((h) << 14) + ((h) >> 18) + (q[c] << 7) + q[d])
~ ~~~~~^~~~
./stb.h:10260:61: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
h = stb__hc2(q,h, 9,10); t = chash[h3]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10247:32: note: expanded from macro 'STB__TRY'
if ((m = stb_matchlen(t, q, match_max)) > best) \
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10261:11: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
h = stb__hc2(q,h,11,12); h4 = STB__SCRAMBLE(h);
^~~~~~~~~~~~~~~~~~~
./stb.h:10209:64: note: expanded from macro 'stb__hc2'
#define stb__hc2(q,h,c,d) (((h) << 14) + ((h) >> 18) + (q[c] << 7) + q[d])
~ ~~~~~^~~~
./stb.h:10262:61: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
t = chash[h4]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10247:32: note: expanded from macro 'STB__TRY'
if ((m = stb_matchlen(t, q, match_max)) > best) \
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10276:10: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x80 + best-1);
^~~~~~~~~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10277:10: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(dist-1);
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10280:32: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out2(0x4000 + dist-1);
~~~~~~~~ ~~~~~~~~~~~~~^~
./stb.h:10281:10: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(best-1);
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10284:34: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out3(0x180000 + dist-1);
~~~~~~~~ ~~~~~~~~~~~~~~~^~
./stb.h:10285:10: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(best-1);
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10288:34: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out3(0x100000 + dist-1);
~~~~~~~~ ~~~~~~~~~~~~~~~^~
./stb.h:10289:23: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out2(best-1);
~~~~~~~~ ~~~~^~
./stb.h:10294:13: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x06);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10295:26: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out3(dist-1);
~~~~~~~~ ~~~~^~
./stb.h:10296:13: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(best-1);
^~~~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10298:13: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x04);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10299:26: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out3(dist-1);
~~~~~~~~ ~~~~^~
./stb.h:10300:26: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out2(best-1);
~~~~~~~~ ~~~~^~
./stb.h:10214:42: warning: unused parameter 'history' [-Wunused-parameter]
static int stb_compress_chunk(stb_uchar *history,
^
./stb.h:10239:25: warning: implicit conversion loses integer precision: 'long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
match_max = end-q;
~ ~~~^~
./stb.h:10256:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
t = chash[h1]; if (t) STB__TRY(t,0);
^~~~~~~~~~~~~
./stb.h:10248:38: note: expanded from macro 'STB__TRY'
if (stb__nc(m,q-(t))) \
~~~~~~~~~~~^~~~~
./stb.h:10243:74: note: expanded from macro 'stb__nc'
#define stb__nc(b,d) ((d) <= window && ((b) > 9 || stb_not_crap(b,d)))
^
./stb.h:10256:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
t = chash[h1]; if (t) STB__TRY(t,0);
^~~~~~~~~~~~~
./stb.h:10249:46: note: expanded from macro 'STB__TRY'
best = m, dist = q - (t)
~ ~~^~~~~
./stb.h:10258:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
h = stb__hc2(q,h, 5, 6); t = chash[h2]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10248:38: note: expanded from macro 'STB__TRY'
if (stb__nc(m,q-(t))) \
~~~~~~~~~~~^~~~~
./stb.h:10243:74: note: expanded from macro 'stb__nc'
#define stb__nc(b,d) ((d) <= window && ((b) > 9 || stb_not_crap(b,d)))
^
./stb.h:10258:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
h = stb__hc2(q,h, 5, 6); t = chash[h2]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10249:46: note: expanded from macro 'STB__TRY'
best = m, dist = q - (t)
~ ~~^~~~~
./stb.h:10260:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
h = stb__hc2(q,h, 9,10); t = chash[h3]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10248:38: note: expanded from macro 'STB__TRY'
if (stb__nc(m,q-(t))) \
~~~~~~~~~~~^~~~~
./stb.h:10243:74: note: expanded from macro 'stb__nc'
#define stb__nc(b,d) ((d) <= window && ((b) > 9 || stb_not_crap(b,d)))
^
./stb.h:10260:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
h = stb__hc2(q,h, 9,10); t = chash[h3]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10249:46: note: expanded from macro 'STB__TRY'
best = m, dist = q - (t)
~ ~~^~~~~
./stb.h:10262:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
t = chash[h4]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10248:38: note: expanded from macro 'STB__TRY'
if (stb__nc(m,q-(t))) \
~~~~~~~~~~~^~~~~
./stb.h:10243:74: note: expanded from macro 'stb__nc'
#define stb__nc(b,d) ((d) <= window && ((b) > 9 || stb_not_crap(b,d)))
^
./stb.h:10262:61: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
t = chash[h4]; if (t) STB__TRY(t,1);
^~~~~~~~~~~~~
./stb.h:10249:46: note: expanded from macro 'STB__TRY'
best = m, dist = q - (t)
~ ~~^~~~~
./stb.h:10275:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
outliterals(lit_start, q-lit_start); lit_start = (q += best);
~~~~~~~~~~~ ~^~~~~~~~~~
./stb.h:10279:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
outliterals(lit_start, q-lit_start); lit_start = (q += best);
~~~~~~~~~~~ ~^~~~~~~~~~
./stb.h:10283:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
outliterals(lit_start, q-lit_start); lit_start = (q += best);
~~~~~~~~~~~ ~^~~~~~~~~~
./stb.h:10287:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
outliterals(lit_start, q-lit_start); lit_start = (q += best);
~~~~~~~~~~~ ~^~~~~~~~~~
./stb.h:10292:34: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
outliterals(lit_start, q-lit_start); lit_start = (q += best);
~~~~~~~~~~~ ~^~~~~~~~~~
./stb.h:10312:27: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
*pending_literals = (q - lit_start);
~ ~~^~~~~~~~~~~
./stb.h:10314:66: warning: implicit conversion loses integer precision: 'long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
stb__running_adler = stb_adler32(stb__running_adler, start, q - start);
~~~~~~~~~~~ ~~^~~~~~~
./stb.h:10315:13: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return q - start;
~~~~~~ ~~^~~~~~~
./stb.h:10330:4: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x57); stb_out(0xbc);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10330:19: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x57); stb_out(0xbc);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10335:13: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out4(stb__window);
~~~~~~~~ ^~~~~~~~~~~
./stb.h:10339:10: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
len = stb_compress_chunk(input, input, input+length, length, &literals, chash, stb__hashsize-1);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10339:57: warning: implicit conversion changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
len = stb_compress_chunk(input, input, input+length, length, &literals, chash, stb__hashsize-1);
~~~~~~~~~~~~~~~~~~ ^~~~~~
./stb.h:10360:20: warning: implicit conversion loses integer precision: 'long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
return stb__out - out;
~~~~~~ ~~~~~~~~~^~~~~
./stb.h:10380:11: warning: implicit conversion changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
return stb__outbytes;
~~~~~~ ^~~~~~~~~~~~~
./stb.h:10398:11: warning: implicit conversion changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
return stb__outbytes;
~~~~~~ ^~~~~~~~~~~~~
./stb.h:10409:14: warning: implicit conversion loses integer precision: 'long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
return ftell(stb__outfile);
~~~~~~ ^~~~~~~~~~~~~~~~~~~
./stb.h:10414:45: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
stb_uchar data[4] = { value >> 24, value >> 16, value >> 8, value };
~ ~~~~~~^~~~~
./stb.h:10414:58: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
stb_uchar data[4] = { value >> 24, value >> 16, value >> 8, value };
~ ~~~~~~^~~~
./stb.h:10414:64: warning: implicit conversion loses integer precision: 'stb_uint' (aka 'unsigned int') to 'stb_uchar' (aka 'unsigned char') [-Wconversion]
stb_uchar data[4] = { value >> 24, value >> 16, value >> 8, value };
~ ^~~~~
./stb.h:10416:14: warning: cast to 'void *' from smaller integer type 'stb_uint' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
memcpy((void *) id, data, 4);
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10416:14: warning: cast to 'void *' from smaller integer type 'stb_uint' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10418:24: warning: implicit conversion loses integer precision: 'long' to 'stb_uint' (aka 'unsigned int') [-Wshorten-64-to-32]
stb_uint where = ftell(stb__outfile);
~~~~~ ^~~~~~~~~~~~~~~~~~~
./stb.h:10429:8: warning: padding size of 'struct <anonymous at ./stb.h:10429:8>' with 4 bytes to alignment boundary [-Wpadded]
static struct
^
./stb.h:10453:40: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
xtb.buffer = (stb_uchar*)malloc(xtb.size);
~~~~~~ ~~~~^~~~
./stb.h:10475:4: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x57); stb_out(0xbc); stb_out2(0);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10475:19: warning: C99 forbids conditional expressions with only one void side [-Wpedantic]
stb_out(0x57); stb_out(0xbc); stb_out2(0);
^~~~~~~~~~~~~
./stb.h:10151:67: note: expanded from macro 'stb_out'
#define stb_out(v) (stb__out ? *stb__out++ = (stb_uchar) (v) : stb__write((stb_uchar) (v)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10479:20: warning: implicit conversion changes signedness: 'stb_uint' (aka 'unsigned int') to 'int' [-Wsign-conversion]
xtb.length_id = stb_out_backpatch_id();
~ ^~~~~~~~~~~~~~~~~~~~~~
./stb.h:10482:13: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out4(stb__window);
~~~~~~~~ ^~~~~~~~~~~
./stb.h:10501:26: warning: implicit conversion changes signedness: 'int' to 'stb_uint' (aka 'unsigned int') [-Wsign-conversion]
stb_out_backpatch(xtb.length_id, xtb.total_bytes);
~~~~~~~~~~~~~~~~~ ~~~~^~~~~~~~~
./stb.h:10515:23: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
xtb.total_bytes += data_len;
~~ ^~~~~~~~
./stb.h:10623:4: warning: anonymous unions are a C11 extension [-Wc11-extensions]
union {
^
./stb.h:10639:44: warning: implicit conversion changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
unsigned int stb_getc(stbfile *f) { return f->getbyte(f); }
~~~~~~ ^~~~~~~~~~~~~
./stb.h:10650:6: warning: no previous prototype for function 'stb_close' [-Wmissing-prototypes]
void stb_close(stbfile *f)
^
./stb.h:10665:88: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__fgetdata(stbfile *f, void *buffer, unsigned int len) { return fread(buffer,1,len,f->f); }
~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10666:88: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__fputdata(stbfile *f, void *buffer, unsigned int len) { return fwrite(buffer,1,len,f->f); }
~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:10667:53: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__fsize(stbfile *f) { return stb_filelen(f->f); }
~~~~~~ ^~~~~~~~~~~~~~~~~
./stb.h:10668:53: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__ftell(stbfile *f) { return ftell(f->f); }
~~~~~~ ^~~~~~~~~~~
./stb.h:10677:10: warning: no previous prototype for function 'stb_openf' [-Wmissing-prototypes]
stbfile *stb_openf(FILE *f)
^
./stb.h:10682:25: warning: missing field 'inend' initializer [-Wmissing-field-initializers]
0,0,0, };
^
./stb.h:10691:36: warning: unused parameter 'f' [-Wunused-parameter]
static int stb__nogetbyte(stbfile *f) { assert(0); return -1; }
^
./stb.h:10692:45: warning: unused parameter 'f' [-Wunused-parameter]
static unsigned int stb__nogetdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10692:54: warning: unused parameter 'buffer' [-Wunused-parameter]
static unsigned int stb__nogetdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10692:75: warning: unused parameter 'len' [-Wunused-parameter]
static unsigned int stb__nogetdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10693:36: warning: unused parameter 'f' [-Wunused-parameter]
static int stb__noputbyte(stbfile *f, int ch) { assert(0); return 0; }
^
./stb.h:10693:43: warning: unused parameter 'ch' [-Wunused-parameter]
static int stb__noputbyte(stbfile *f, int ch) { assert(0); return 0; }
^
./stb.h:10694:45: warning: unused parameter 'f' [-Wunused-parameter]
static unsigned int stb__noputdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10694:54: warning: unused parameter 'buffer' [-Wunused-parameter]
static unsigned int stb__noputdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10694:75: warning: unused parameter 'len' [-Wunused-parameter]
static unsigned int stb__noputdata(stbfile *f, void *buffer, unsigned int len) { assert(0); return 0; }
^
./stb.h:10695:39: warning: unused parameter 'f' [-Wunused-parameter]
static void stb__nobackpatch(stbfile *f, unsigned int where, void *buffer, unsigned int len) { assert(0); }
^
./stb.h:10695:55: warning: unused parameter 'where' [-Wunused-parameter]
static void stb__nobackpatch(stbfile *f, unsigned int where, void *buffer, unsigned int len) { assert(0); }
^
./stb.h:10695:68: warning: unused parameter 'buffer' [-Wunused-parameter]
static void stb__nobackpatch(stbfile *f, unsigned int where, void *buffer, unsigned int len) { assert(0); }
^
./stb.h:10695:89: warning: unused parameter 'len' [-Wunused-parameter]
static void stb__nobackpatch(stbfile *f, unsigned int where, void *buffer, unsigned int len) { assert(0); }
^
./stb.h:10695:94: warning: function 'stb__nobackpatch' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
static void stb__nobackpatch(stbfile *f, unsigned int where, void *buffer, unsigned int len) { assert(0); }
^
./stb.h:10708:22: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
len = s->inend - s->indata;
~ ~~~~~~~~~^~~~~~~~~~~
./stb.h:10713:62: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__bsize(stbfile *s) { return s->inend - s->buffer; }
~~~~~~ ~~~~~~~~~^~~~~~~~~~~
./stb.h:10714:63: warning: implicit conversion loses integer precision: 'long' to 'unsigned int' [-Wshorten-64-to-32]
static unsigned int stb__btell(stbfile *s) { return s->indata - s->buffer; }
~~~~~~ ~~~~~~~~~~^~~~~~~~~~~
./stb.h:10722:10: warning: no previous prototype for function 'stb_open_inbuffer' [-Wmissing-prototypes]
stbfile *stb_open_inbuffer(void *buffer, unsigned int len)
^
./stb.h:10726:72: warning: missing field 'f' initializer [-Wmissing-field-initializers]
stb__bsize, stb__btell, stb__nobackpatch, stb__bclose };
^
./stb.h:10737:10: warning: no previous prototype for function 'stb_open_inbuffer_free' [-Wmissing-prototypes]
stbfile *stb_open_inbuffer_free(void *buffer, unsigned int len)
^
./stb.h:10771:10: warning: no previous prototype for function 'stb_open' [-Wmissing-prototypes]
stbfile *stb_open(char *filename, char *mode)
^
./stb.h:10786:4: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
stb_arr_push(f->buffer, ch);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:10786:4: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
stb_arr_push(f->buffer, ch);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^~~~~~~~~~~~~~~~
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:10786:4: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
stb_arr_push(f->buffer, ch);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:10786:4: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
stb_arr_push(f->buffer, ch);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:2951:35: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^~~~~~~~~~~~~~
./stb.h:2950:35: note: expanded from macro 'stb_arr_add'
#define stb_arr_add(a) ( stb_arr_addn((a),1) )
^~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:10786:28: warning: implicit conversion loses integer precision: 'int' to 'unsigned char' [-Wconversion]
stb_arr_push(f->buffer, ch);
~~~~~~~~~~~~~~~~~~~~~~~~^~~
./stb.h:2951:51: note: expanded from macro 'stb_arr_push'
#define stb_arr_push(a,v) ( *stb_arr_add(a)=(v) )
^
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10791:11: warning: expression result unused [-Wunused-value]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:33: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~~~
./stb.h:2970:32: note: expanded from macro 'stb_arr_check'
#define stb_arr_check(a) 0
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:27: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3008:34: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3008:55: note: expanded from macro 'stb_arr__addn'
((stb_arr_len(a)+(n) > stb_arrcurmax(a)) \
^
./stb.h:3036:37: note: expanded from macro 'stb_arrcurmax'
#define stb_arrcurmax(a) (a ? stb_arrhead(a)->limit : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^
./stb.h:3004:51: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10791:11: warning: expression result unused [-Wunused-value]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stb.h:3014:33: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^~~~~~~~~~~~~~~~~~~~
./stb.h:3010:38: note: expanded from macro 'stb_arr__addn'
: ((stb_arr__grow(a,n), 0)))
^~~~~~~~~~~~~~~~~~
./stb.h:3004:33: note: expanded from macro 'stb_arr__grow'
#define stb_arr__grow(a,n) (stb_arr_check(a), stb_arrhead(a)->len += (n))
^~~~~~~~~~~~~~~~
./stb.h:2970:32: note: expanded from macro 'stb_arr_check'
#define stb_arr_check(a) 0
^
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10791:11: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
memcpy(stb_arr_addn(f->buffer, (int) len), data, len);
^
./stb.h:3014:58: note: expanded from macro 'stb_arr_addn'
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
^
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^
/usr/include/secure/_string.h:65:59: note: expanded from macro 'memcpy'
__builtin___memcpy_chk (dest, src, len, __darwin_obsz0 (dest))
^
/usr/include/secure/_common.h:38:55: note: expanded from macro '__darwin_obsz0'
#define __darwin_obsz0(object) __builtin_object_size (object, 0)
^
In file included from stb.c:2:
./stb.h:10794:53: warning: cast from 'unsigned char *' to 'stb__arr *' increases required alignment from 1 to 4 [-Wcast-align]
static unsigned int stb__asize(stbfile *f) { return stb_arr_len(f->buffer); }
^~~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:37: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
^~~~~~~~~~~~~~
./stb.h:2963:52: note: expanded from macro 'stb_arrhead'
#define stb_arrhead(a) /*lint --e(826)*/ (((stb__arr *) (a)) - 1)
^~~~~~~~~~~~~~~~
./stb.h:10794:53: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
static unsigned int stb__asize(stbfile *f) { return stb_arr_len(f->buffer); }
~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~
./stb.h:2977:53: note: expanded from macro 'stb_arr_len'
#define stb_arr_len(a) (a ? stb_arrhead(a)->len : 0)
~~~~~~~~~~~~~~~~^~~
./stb.h:10804:10: warning: no previous prototype for function 'stb_open_outbuffer' [-Wmissing-prototypes]
stbfile *stb_open_outbuffer(unsigned char **update_on_close)
^
./stb.h:10808:71: warning: missing field 'f' initializer [-Wmissing-field-initializers]
stb__asize, stb__asize, stb__abackpatch, stb__aclose };
^
./stb.h:10930:12: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
int c = stb_getc(a->output);
~ ^~~~~~~~~~~~~~~~~~~
./stb.h:10931:41: warning: operand of ? changes signedness: 'int' to 'unsigned int' [-Wsign-conversion]
a->code = (a->code << 8) + (c >= 0 ? c : 0); // if EOF, insert 0
~ ^
./stb.h:10998:39: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
stb__arith_putbyte(a, a->range_low >> 0);
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~^~~~~
./stb.h:11012:21: warning: no previous prototype for function 'stb_arith_state_create' [-Wmissing-prototypes]
stb_arith_symstate *stb_arith_state_create(int num_sym)
^
./stb.h:11014:79: warning: implicit conversion changes signedness: 'int' to 'unsigned long' [-Wsign-conversion]
stb_arith_symstate *s = (stb_arith_symstate *) malloc(sizeof(*s) + (num_sym-1) * sizeof(s->data[0]));
~~~~~~~^~ ~
./stb.h:11035:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].cumfreq = cf;
~ ^~
./stb.h:11036:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].samples = next;
~ ^~~~
./stb.h:11041:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].cumfreq = cf;
~ ^~
./stb.h:11042:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].samples = next;
~ ^~~~
./stb.h:11066:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].cumfreq = cf;
~ ^~
./stb.h:11068:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].samples = next;
~ ^~~~
./stb.h:11079:31: warning: implicit conversion loses integer precision: 'int' to 'unsigned short' [-Wconversion]
s->data[i].cumfreq = cf;
~ ^~
./stb.h:11089:39: warning: unused parameter 'a' [-Wunused-parameter]
void stb_arith_encode_byte(stb_arith *a, int byte)
^
./stb.h:11089:46: warning: unused parameter 'byte' [-Wunused-parameter]
void stb_arith_encode_byte(stb_arith *a, int byte)
^
./stb.h:11093:39: warning: unused parameter 'a' [-Wunused-parameter]
int stb_arith_decode_byte(stb_arith *a)
^
./stb.h:12541:7: warning: no previous prototype for function 'stb__get_sourcefile_path' [-Wmissing-prototypes]
char *stb__get_sourcefile_path(char *file)
^
./stb.h:7048:20: warning: no previous extern declaration for non-static variable 'stb__allocations' [-Wmissing-variable-declarations]
stb_malloc_record *stb__allocations;
^
./stb.h:7050:5: warning: no previous extern declaration for non-static variable 'stb__alloc_count' [-Wmissing-variable-declarations]
int stb__alloc_count;
^
./stb.h:7052:19: warning: no previous extern declaration for non-static variable 'stb__alloc_history' [-Wmissing-variable-declarations]
stb_malloc_record stb__alloc_history[STB_MALLOC_HISTORY_COUNT];
^
./stb.h:7053:5: warning: no previous extern declaration for non-static variable 'stb__history_pos' [-Wmissing-variable-declarations]
int stb__history_pos;
^
./stb.h:8003:15: warning: no previous extern declaration for non-static variable 'stb__mt_buffer' [-Wmissing-variable-declarations]
unsigned long stb__mt_buffer[STB__MT_LEN];
^
./stb.h:12535:7: warning: no previous extern declaration for non-static variable 'stb__source_path' [-Wmissing-variable-declarations]
char *stb__source_path;
^
./stb.h:4107:1: warning: unused function 'stb__spmatrix_memory_usage' [-Wunused-function]
stb_define_hash_base(static, stb_spmatrix, int val_size; void *arena;, stb__spmatrix_,stb__spmatrix_, 0.85,
^
./stb.h:3798:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N, memory_usage)(TYPE *h) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_memory_usage
^
In file included from stb.c:2:
./stb.h:4107:1: warning: unused function 'stb__spmatrix_getkey' [-Wunused-function]
./stb.h:3855:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N,getkey)(TYPE *a, KEY k, KEY *kout) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_getkey
^
In file included from stb.c:2:
./stb.h:4107:1: warning: unused function 'stb__spmatrix_set' [-Wunused-function]
./stb.h:3921:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N, set)(TYPE *a, KEY k, VALUE v){return STB_(N,addset)(a,k,v,1,1,1);}\
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_set
^
In file included from stb.c:2:
./stb.h:4107:1: warning: unused function 'stb__spmatrix_update' [-Wunused-function]
./stb.h:3923:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N, update)(TYPE*a,KEY k,VALUE v){return STB_(N,addset)(a,k,v,0,1,1);}\
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_update
^
In file included from stb.c:2:
./stb.h:4107:1: warning: unused function 'stb__spmatrix_remove' [-Wunused-function]
./stb.h:3925:12: note: expanded from macro 'stb_define_hash_base'
PREFIX int STB__(N, remove)(TYPE *a, KEY k, VALUE *v) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_remove
^
In file included from stb.c:2:
./stb.h:4107:1: warning: unused function 'stb__spmatrix_copy' [-Wunused-function]
./stb.h:3954:15: note: expanded from macro 'stb_define_hash_base'
PREFIX TYPE * STB__(NC, copy)(TYPE *a) \
^
./stb.h:3710:31: note: expanded from macro 'STB__'
#define STB__(prefix,name) prefix##name
^
<scratch space>:19:1: note: expanded from here
stb__spmatrix_copy
^
In file included from stb.c:2:
./stb.h:11053:13: warning: unused function 'stb_arith_state_rescale' [-Wunused-function]
static void stb_arith_state_rescale(stb_arith_symstate *s)
^
647 warnings generated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment