[Bug debug/43479] Missing DW_TAG_lexical_block+DW_TAG_variable

jakub at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Mar 22 18:22:00 GMT 2010



------- Comment #2 from jakub at gcc dot gnu dot org  2010-03-22 18:22 -------
In the second testcase it is actually TER that breaks this (both on the trunk
and 4.4-RH).
In *.nrv we still have:
  [d.c : 4:4] l_2 = l_1(D) + 1;
  [d.c : 4:4] # DEBUG l => l_2
  [d.c : 6:9] # DEBUG h => n_3(D)
  [d.c : 7:11] # DEBUG i => k_5(D)
  [d.c : 7:19] k_7 = k_5(D) + 1;
  [d.c : 7:19] # DEBUG k => k_7
  [d.c : 8:11] # DEBUG j => m_8(D)
  [d.c : 8:19] m_10 = m_8(D) + 1;
  [d.c : 8:19] # DEBUG m => m_10
  [d.c : 10:3] __asm__ __volatile__("" :  : "r" k_7, "r" l_2, "r" m_10);
  [d.c : 11:1] return;
and the right block.  Not sure why we do TER for "r" constraint, but even if we
do and it turns that some of the generated insns match what has been TERed, it
would be good to adjust locus and block of the insns.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matz at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43479



More information about the Gcc-bugs mailing list