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