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

Attachment: pgptHmH3LzmGQ.pgp
Description: PGP signature

Reply via email to