This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/17913] [4.0 Regression] ICE jumping into statement expression


------- Additional Comments From jsm at polyomino dot org dot uk  2004-10-28 15:05 -------
Subject: Re:  [4.0 Regression] ICE jumping into statement
 expression

On Thu, 28 Oct 2004, bonzini at gcc dot gnu dot org wrote:

> I remember using once a void statement expression "((void) ({ ... })" instead of
> "do ... while (0)" in macros.  It had something to do with emulated recursion,
> so I wanted to use "continue" inside the macro to do the recursion.  The
> emulated recursive calls were ten or so in that function, hence using macros.

So we have another example of jumps out being used.  That doesn't mean we 
want to support them - and certainly doesn't mean we can define sensibly 
what they mean when the statement expression isn't the full expression 
statement - but affirms that if we stop allowing jumps out then we need a 
deprecation period.

Whereas jumps in we can reasonably declare invalid, fix that part of bug 
772 by putting in an error for jumping in and hopefully fix this 
ice-on-invalid as well, without a deprecation period.



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17913


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]