[ast-optimizer-branch] simplifying C++

Joseph S. Myers jsm28@cam.ac.uk
Mon Jun 17 10:17:00 GMT 2002


On 17 Jun 2002, Diego Novillo wrote:

> On Mon, 2002-06-17 at 12:07, Jason Merrill wrote:
> > I've been thinking about simplifying C++, and the complex scoping that C++
> > loops have.  In a for loop, a decl in the for-init-stmt is in scope for the
> > duration of the loop; a decl in the condition is in scope within an
> > iteration, goes out of scope, and back in.  The first can be dealt with
> > simply by wrapping the loop in a scope.
> >
> Are these the same rules as for C99?  When I ran into this one last
> week, the front end was already enclosing the loop in a scope, so the
> simplifier didn't have to do much more than recognizing DECL_STMTs
> inside FOR_INIT_STMT.

C99 doesn't allow decls in the condition (so just does need to enclose the
loop in a scope - it's because these extra scopes are only applied in C99
mode that this feature isn't accepted as an extension in gnu89 mode).

-- 
Joseph S. Myers
jsm28@cam.ac.uk



More information about the Gcc mailing list