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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-06-13 
19:36:42 UTC ---
Alternatively, even before statement frontiers we could special case parameters
(PARM_DECLs and vars with PARM_DECL DECL_ABSTRACT_ORIGIN) before the first insn
in a function and just emit a zero-length location range for those.  So you
would get:
.LLST0:
        .quad   .LVL1   # Location list begin address (*.LLST0)
        .quad   .LVL1   # Location list end address (*.LLST0)
        .value  0x1     # Location expression size
        .byte   0x55    # DW_OP_reg5
        .quad   .LVL1   # Location list begin address (*.LLST0)
        .quad   .LVL2-1 # Location list end address (*.LLST0)
        .value  0x3     # Location expression size
        .byte   0x75    # DW_OP_breg5
        .sleb128 1
        .byte   0x9f    # DW_OP_stack_value
        .quad   .LVL2-1 # Location list begin address (*.LLST0)
        .quad   .LFE1   # Location list end address (*.LLST0)
        .value  0x6     # Location expression size
        .byte   0xf3    # DW_OP_GNU_entry_value
        .uleb128 0x1
        .byte   0x55    # DW_OP_reg5
        .byte   0x23    # DW_OP_plus_uconst
        .uleb128 0x1
        .byte   0x9f    # DW_OP_stack_value
        .quad   0       # Location list terminator begin (*.LLST0)
        .quad   0       # Location list terminator end (*.LLST0)

Wonder how many dwarflints etc. would complain about it loudly though.

Reply via email to