This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: That C parser bug
- To: egcs-bugs at cygnus dot com
- Subject: Re: That C parser bug
- From: "Charles M. Hannum" <root at ihack dot net>
- Date: Fri, 30 Oct 1998 15:25:41 -0500 (EST)
- Cc: nathanw at mit dot edu
> It appears that any statement of the form:
> *foo++ = bar ? baz : qux;
> (where `baz' and `qux' are simple types) will lose.
Sorry; I should have been more precise here.
For the bug to occur, you have to use an expression of that form in a
context where the value of the assignment is used. This can be any
of:
return (*foo++ = bar ? baz : qux);
if (*foo++ = bar ? baz : qux)
zuul = *foo++ = bar ? baz : qux;
etc.
(This is why the bug doesn't, e.g., completely trash our NFS and RPC
code.)