BUG/MINOR: compat: make sure __WORDSIZE is always defined
-Wundef triggered on a MIPS-based musl build on __WORDSIZE that's used in ultoa_o() and some Lua initialization. The former will fail to convert integers larger to 1 billion to proper string in this case. Let's make sure this macro is defined and fall back to values determined from __SIZEOF_LONG__ otherwise. A cleaner long-term approach would consist in removing all remaining occurrences of this macro. This can be backported to all versions.
This commit is contained in:
parent
8ab9419394
commit
4f5485bfad
|
@ -85,6 +85,16 @@ typedef struct { } empty_t;
|
||||||
#define BITS_PER_INT (8*sizeof(int))
|
#define BITS_PER_INT (8*sizeof(int))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __WORDSIZE
|
||||||
|
# if defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 4
|
||||||
|
# define __WORDSIZE 32
|
||||||
|
# elif defined(__SIZEOF_LONG__) && __SIZEOF_LONG__ == 8
|
||||||
|
# define __WORDSIZE 64
|
||||||
|
# else
|
||||||
|
# error "Unknown machine word size (__WORDSIZE, __SIZEOF_LONG)"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef MIN
|
#ifndef MIN
|
||||||
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
#define MIN(a, b) (((a) < (b)) ? (a) : (b))
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue