This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/37738] Fortran DW_TAG_common_block has incorrect placement/scope



------- Comment #1 from jan dot kratochvil at redhat dot com  2008-10-05 15:33 -------
Saw there also needless DW_OP_plus_uconst - it could be single DW_OP_addr for
all the common block variables (which would make the GDB support a bit easier).

program a2
  INTEGER*4 a
  INTEGER*4 b
  common /block/a,b
  a = 1
  a = 2
end program a2

 <2><4d>: Abbrev Number: 3 (DW_TAG_common_block)
    <4e>   DW_AT_name        : (indirect string, offset: 0x46): block
    <54>   DW_AT_location    : 9 byte block: 3 e0 a 60 0 0 0 0 0       
(DW_OP_addr: 600ae0)
 <3><5e>: Abbrev Number: 4 (DW_TAG_variable)
    <5f>   DW_AT_name        : a
    <68>   DW_AT_location    : 9 byte block: 3 e0 a 60 0 0 0 0 0       
(DW_OP_addr: 600ae0)
 <3><72>: Abbrev Number: 4 (DW_TAG_variable)
    <73>   DW_AT_name        : b
    <7c>   DW_AT_location    : 11 byte block: 3 e0 a 60 0 0 0 0 0 23 4 
(DW_OP_addr: 600ae0; DW_OP_plus_uconst: 4)


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]