statement expressions and extended asm bug?

Joseph S. Myers jsm@polyomino.org.uk
Mon Mar 15 20:39:00 GMT 2004


On Mon, 15 Mar 2004, Jamie Lokier wrote:

>     function(foo(arg1), foo(arg2));
> 
> could evaluate the two calls to foo() in either order, but it must
> finish one completely before the other.
> 
> Perhaps this is a flaw in GCC's implementation of
> statement-expression, because s-e is intended for use in macros
> function-like macros -- whose callers don't know they are calling a
> macro.

We've never established the sequence point rules for statement
expressions, but I previously noted
<http://gcc.gnu.org/ml/gcc/2003-07/msg01461.html> the case for having them
follow the non-overlapping rule for function calls, especially given that
inline functions get internally expanded into statement expressions.

-- 
Joseph S. Myers
jsm@polyomino.org.uk



More information about the Gcc mailing list