------- 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