shadowed "for" scope variables not throwing up a warning (gcc 3.1.1/cygwin)

Fergus Henderson fjh@cs.mu.OZ.AU
Mon Aug 5 07:10:00 GMT 2002


That's what `-Wshadow' is for.

Were you compiling with `-Wshadow' enabled?

On 05-Aug-2002, Dylan Cuthbert <dylan@q-games.com> wrote:
> 
> for ( int i = 0; i < 10; i++ )
> {
>     int i = 10;       <===== shadowing the i variable
>     printf( "%d\n", i  );
> }
> 
> 
> To my understanding, the "int i" in the for statement is within the scope of
> the following curly brackets?
> 
> If this isn't an error (ie. there is a special "mini" scope created around
> the for statement's scope), then it *definitely* *definitely* (pretty
> please) should throw up a warning.  I just spent a while looking at some
> code before realising it was something as silly as this.
> 
> Regards
> 
> ---------------------------------
> Q-Games, Dylan Cuthbert.
> http://www.q-games.com
> P2P internet radio - http://www.peercast.org
> 
> 
> 

-- 
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.



More information about the Gcc mailing list