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

           Summary: entryval: missing DW_AT_GNU_call_site_data_value for
                    Fortran parameter
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: jan.kratoch...@redhat.com
                CC: ja...@redhat.com
            Target: x86_64-unknown-linux-gnu


FAIL: gcc (GCC) 4.7.0 20110804 (experimental)
-------------------------------------------------------------------------------
        integer :: var_i = 1
;        write (*,*) 'before sub: ', var_i
        call sub (var_i)
;        write (*,*) 'after sub: ', var_i
        stop
        end

        subroutine sub (param)
        integer :: param
;        write (*,*) 'before assignment: ', param
        param = 10
;        write (*,*) 'after assignment: ', param
        return
        end
-------------------------------------------------------------------------------
-Wall -g -O2 
-------------------------------------------------------------------------------
 <1><32>: Abbrev Number: 2 (DW_TAG_subprogram)
    <34>   DW_AT_name        : sub
 <2><57>: Abbrev Number: 3 (DW_TAG_formal_parameter)
    <58>   DW_AT_name        : (indirect string, offset: 0xd1): param
    <5e>   DW_AT_type        : <0x175>
    <62>   DW_AT_location    : 0x75     (location list)
 <1><175>: Abbrev Number: 9 (DW_TAG_base_type)
    <176>   DW_AT_byte_size   : 4
    <177>   DW_AT_encoding    : 5       (signed)
    <178>   DW_AT_name        : integer(kind=4)
 <2><2df>: Abbrev Number: 5 (DW_TAG_GNU_call_site)
    <2e0>   DW_AT_low_pc      : 0x4008f5
    <2e8>   DW_AT_abstract_origin: <0x32>
 <3><2f0>: Abbrev Number: 6 (DW_TAG_GNU_call_site_parameter)
    <2f1>   DW_AT_location    : 1 byte block: 55        (DW_OP_reg5 (rdi))
    <2f3>   DW_AT_GNU_call_site_value: 9 byte block: 3 88 e 60 0 0 0 0 0       
(DW_OP_addr: 600e88)

    Offset   Begin    End      Expression
    00000075 00000000004007d0 00000000004007de (DW_OP_breg5 (rdi): 0)
    00000075 00000000004007de 000000000040088d (DW_OP_breg3 (rbx): 0)
    00000075 000000000040088d 000000000040088e (DW_OP_GNU_entry_value:
(DW_OP_reg5 (rdi)))
    00000075 <End of list>

but there should be also DW_AT_GNU_call_site_data_value.
(I do not know if GCC ever creates *_data_value for Fortran.)

Reply via email to