[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