The attached patch handles late dwarf annotations to objects containing variable-length members. It fixes the following regressions in the gdb testsuite: > FAIL: gdb.base/vla-datatypes.exp: print vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: print vla_union_object > FAIL: gdb.base/vla-datatypes.exp: ptype vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: ptype vla_union_object > FAIL: gdb.base/vla-datatypes.exp: size of vla_struct_object > FAIL: gdb.base/vla-datatypes.exp: size of vla_union_object I am not convinced this is the last patch to variable-length variables, so it may require further refining, but it does get us down to ZERO gdb regressions which is A Good Thing (TM). The only differences I see for trunk and the debug-early branch wrt gdb regressions are: < KFAIL: gdb.cp/oranking.exp: p foo4(&a) (PRMS: gdb/12098) --- > KPASS: gdb.cp/oranking.exp: p foo4(&a) (PRMS gdb/12098) 20065c20065 < KFAIL: gdb.cp/oranking.exp: p foo101("abc") (PRMS: gdb/12098) --- > KPASS: gdb.cp/oranking.exp: p foo101("abc") (PRMS gdb/12098) 28222c28222 Plus some noise regarding threads. I don't know what KFAIL/KPASS are, having lived in GCC land too long, but I will take a look at those next. Committed to branch. Aldy