[BusyBox] Where do I report a compiler bug?

Manuel Novoa III mjn3 at codepoet.org
Mon Oct 13 22:47:41 UTC 2003


Hello Rob,

On Mon, Oct 13, 2003 at 05:04:55PM -0500, Rob Landley wrote:
> On Monday 13 October 2003 13:56, Manuel Novoa III wrote:
> > On Mon, Oct 13, 2003 at 01:46:19PM -0500, Rob Landley wrote:
> > > Sigh.  Okay, it works properly if there's a sequencing point (&&, ||,
> > > for(;;), etc... A quick grep even found a code example in linux-kernel
> > > that uses a comma, which implies function arguments are happy too.)
> >
> > A comma separating args in a function call is not a sequence point.
> > The C compiler is free to evaluate the function args any order.
> >
> How about outside a function call?
> 
> >From the linux 2.6.0-test6 kernel...
> ./drivers/video/riva/fbdev.c:   *a = byte_rev[*a], a++;

In that case, you are dealing with the comma operator which does contain
a sequence point and which is lower in precedence than the assignment
operator.  Other sequence points that can occur in expressions come with
the '?', '&&', and '||' operators as well as function calls.

There is a draft of the C99 standard (dated late 98) publicly available
at http://wwwold.dkuug.dk/jtc1/sc22/open/n2794/ in both txt and pdf.

Manuel



More information about the busybox mailing list