[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: i guess we're frozen & stuff

From: Greg Troxel
Subject: Re: i guess we're frozen & stuff
Date: Tue, 11 Aug 2009 13:04:39 -0400
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/22.3 (berkeley-unix)

  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: pgp0T7oE7uPqa.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]