This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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]

Re: [RFC/RFA] gdb.cp/classes.exp: Don't try to print local variable out of scope


On Tue, Mar 09, 2004 at 03:38:04PM -0500, Andrew Cagney wrote:
> >1 void foo ()
> >  2 {
> >  3   int i = 1;
> >  4   {
> >  5     int i = 2;
> >  6     bar(i);
> >  7   }
> >  8   bar (i);
> >  9 }
> >
> >cv> Is line 7 still in the scope of the inner definition of variable `i'?
> >cv> Which `i' should be printed at that point?
> >
> >My intuition says that the inner "i" is in scope at line 7.
> 
> Yes, the inner "i" should be in scope.  That line, which hasn't yet been 
> executed, will destory the inner block.  I think that is covered by the 
> GCC-O0 rule?

If that's right, it sounds like we should be using the address-in-block
hack to figure out what local variables are in scope for the top
frame.  But that runs the risk of, for instance, moving us back into a
preceeding function.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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