On Thu, Jun 30, 2005 at 09:25:47PM -0400, DJ Delorie wrote: > > My m32c port is generating tracking notes that look like this: > > (var_location 0x2a95758dd0 (parallel [ > (expr_list:REG_DEP_TRUE (reg/v:SI 0 r0 [orig:123 remainder_size ] > [123]) > (const_int 0 [0x0])) > (expr_list:REG_DEP_TRUE (reg:HI 1 r2 [ remainder_size+2 ]) > (const_int 2 [0x2])) > ])) > > Note that registers are HI natively, and r2 is the upper half of the > [r2:r0] pair. In other words, the location given above describes an > overlap between the two pieces. The code itself refers to the > variable in both SI (full) and HI (part) modes. > > The dwarf2 location lists generated from this are bogus.
Even on mainline? See PR debug/21946 and http://gcc.gnu.org/ml/gcc-patches/2005-06/msg00312.html. Var-tracking is very broken in that it doesn't care about register modes, but what I have comitted should at least prevent bogus dwarf2 location list generation. Jakub