From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Berlin To: Joe Buck Cc: mrs@windriver.com (Mike Stump), dan@cgsoftware.com, mark@codesourcery.com, gcc@gcc.gnu.org, wilson@cygnus.com Subject: Re: Bootstrap failure of gcc-ss-20010409 in ia64 Date: Tue, 17 Apr 2001 20:38:00 -0000 Message-id: References: <200104180157.SAA07104@racerx.synopsys.com> X-SW-Source: 2001-04/msg00852.html Joe Buck writes: > > > > The debugger can't really be expected to print out information > > > > about the values of variables that were optimized away, for > > > > example. > > > This is the only case that is "unattainable". > > Mike Stump writes: > > Actually, if you can make it spit out 5, when a user says p i, when > > the software has a { const int i = 5; } then I don't see why you can't > > mostly solve the last as well. In fact, I thought dwarf 2 had enough > > guts to do this. > > I suppose we could give the debugger a formula for re-generating things > like loop induction variables that get optimized away. Or, it can say "variable doesn't exist during this range". DWARF2 lets you do either. > Kind of like a > spreadsheet, defining no longer existing variables in terms of existing > objects, perhaps different for each location. This is actually pretty easy to do, given the opcodes available in dwarf2 locexpr's. > > But there also can be variables that are neither used nor set, so their > value is indeterminate. Or because a variable is not used, the compiler > throws away a lot of code that computes it, and it might be tricky to > include all needed formulas to compute it. If it's been optimized away for a givne range, we can express this to the debugger, with location lists. Any range of pc's for which you have no location means the variable doesn't exist during that range. Any range of pc's that overlap means you have a variable that exists in two places simultaneously. > > -- Last night, I walked up to this beautiful woman in a bar and asked her, "Do you live around here often?" She said, "You're wearing two different colored socks." I said, "Yes, but to me they're the same because I go by thickness." Then she asked, "How do you feel?" and I said, "Well, you know when you're sitting on a chair and you lean back so you're just on two legs then you lean too far and you almost fall over but at the last second you catch yourself? I feel like that all the time."