]> git.ozlabs.org Git - ccan/commitdiff
cast: make sure suncc sees a constant.
authorRusty Russell <rusty@rustcorp.com.au>
Thu, 29 Mar 2012 04:28:33 +0000 (14:58 +1030)
committerRusty Russell <rusty@rustcorp.com.au>
Thu, 29 Mar 2012 04:28:33 +0000 (14:58 +1030)
cast_const() et. al. are supposed to be a constant expression, so you can do things like:
static char *p = cast_const(char *, (const char *)"hello");

Unfortunately, a cast to intptr_t and arithmetic makes suncc reject it as
a constant expression.  We need the cast, because (1) the expression could be
a void *, so we can't just add to it, and (2) gcc complains with -Wcast-qual
without it.

So instead of adding BUILD_BUG_OR_ZERO, we use a ? :, which keeps everyone happy.


No differences found