Does libunistring's "make check" pass on this platform? should have tried that. testlocale.c fails on line 38 with:
test-locale.c:38: error: expected ')' before numeric constant
expanding that with cpp gets me the rather stunning:
extern int (* verify_function__ (void)) [(!!sizeof (struct { unsigned int
verify_error_if_negative_size__: (sizeof (void *)0 == sizeof (void *)) ? 1 :
-1; }))];
which I'll rewrap to:
extern int (* verify_function__ (void))
[(!!sizeof (struct {
unsigned int verify_error_if_negative_size__ : (sizeof (void *)0 ==
sizeof (void *)) ? 1 : -1; }
))];
which seems odd but not necessarily wrong. The original line was
verify (sizeof NULL == sizeof (void *));
So it seems that NULL is expanding to (void *) 0, and "sizeof (void *)
0" is not legit. AFAIK sizeof is specified to work on variables and
types, and NULL is neither a variable nor a type.
Is NULL something else on Linux?
Fixing that so sizeof(NULL) gets this to pass with only one failure:
test-striconveh.c:389: assertion failed
Abort (core dumped)
FAIL: test-striconveh
pgptHmH3LzmGQ.pgp
Description: PGP signature
