http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50317
Bug #: 50317 Summary: [4.7 Regression] missing DW_OP_GNU_implicit_pointer Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassig...@gcc.gnu.org ReportedBy: jan.kratoch...@redhat.com Target: i686-unknown-linux-gnu PASS: gcc (GCC) 4.6.2 20110907 (prerelease) <2><5e>: Abbrev Number: 5 (DW_TAG_variable) <5f> DW_AT_name : p <67> DW_AT_location : 16 byte block: f2 44 0 0 0 0 93 4 f2 51 0 0 0 0 93 4 (DW_OP_GNU_implicit_pointer: <0x44> 0; DW_OP_piece: 4; DW_OP_GNU_implicit_pointer: <0x51> 0; DW_OP_piece: 4) (gdb) print *p[1] $1 = 23 FAIL: gcc (GCC) 4.7.0 20110907 (experimental) <2><5b>: Abbrev Number: 5 (DW_TAG_variable) <5c> DW_AT_name : p <64> DW_AT_location : 10 byte block: f2 45 0 0 0 0 93 4 93 4 (DW_OP_GNU_implicit_pointer: <0x45> 0; DW_OP_piece: 4; DW_OP_piece: 4) (gdb) print *p[1] Cannot access memory at address 0x0 GNU gdb (GDB) 7.3.50.20110907-cvs (gdb) break foo (gdb) run (gdb) print *p[1] static __attribute__((noinline, noclone)) int foo (int i) { int j = i; int *p[2] = { &i, &j }; return *p[0] + *p[1]; } int main (void) { return foo (23); } That p[1] content definition is missing. There are many incompletele debug info cases around, filing it because it is a regression (visible on GDB testcase gdb.dwarf2/implptr.exp).