http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56980
--- Comment #1 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2013-04-16 15:24:46 UTC --- Confirmed, but I seriously doubt it has anything to do with my patch. At the moment of warning we get: (gdb) p debug_tree(type) <pointer_type 0x7ffff7511540 type <record_type 0x7ffff7511498 B type_0 SI size <integer_cst 0x7ffff740f0c0 constant 32> unit size <integer_cst 0x7ffff740f0e0 constant 4> align 32 symtab 0 alias set -1 canonical type 0x7ffff75113f0 fields <field_decl 0x7ffff74195f0 i type <integer_type 0x7ffff740c5e8 int> SI file /home/manuel/pr56980.c line 1 col 24 size <integer_cst 0x7ffff740f0c0 32> unit size <integer_cst 0x7ffff740f0e0 4> align 32 offset_align 128 offset <integer_cst 0x7ffff73f7d80 constant 0> bit offset <integer_cst 0x7ffff73f7e00 constant 0> context <record_type 0x7ffff75113f0 A>> pointer_to_this <pointer_type 0x7ffff7511540> chain <type_decl 0x7ffff752a000 D.1714>> unsigned DI size <integer_cst 0x7ffff73f7d40 type <integer_type 0x7ffff740c0a8 bitsizetype> constant 64> unit size <integer_cst 0x7ffff73f7d60 type <integer_type 0x7ffff740c000 sizetype> constant 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff75115e8> $9 = void (gdb) p debug_tree(rhstype) <pointer_type 0x7ffff75119d8 type <record_type 0x7ffff7511930 B VOID align 8 symtab 0 alias set -1 canonical type 0x7ffff7511930 context <function_decl 0x7ffff7510a00 bar> pointer_to_this <pointer_type 0x7ffff75119d8> chain <type_decl 0x7ffff752a170 D.1722>> unsigned DI size <integer_cst 0x7ffff73f7d40 type <integer_type 0x7ffff740c0a8 bitsizetype> constant 64> unit size <integer_cst 0x7ffff73f7d60 type <integer_type 0x7ffff740c000 sizetype> constant 8> align 64 symtab 0 alias set -1 canonical type 0x7ffff75119d8> which seem correct to me, so the pretty-printer is printing the wrong thing and not unwrapping the typedef as it should.