http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57074
--- Comment #15 from Alan Modra <amodra at gmail dot com> 2013-05-04 01:21:50 UTC --- With this patch I'm still seeing odd trees in place_block_symbol(). In the following, the type is the correct size (168 bytes), but the var_decl size too small (48 bytes). place_block_symbol() uses the var_decl size. Hmm, I reckon that's a bug in place_block_symbol(). Shouldn't it be using DECL_INITIAL size? <var_decl 0xf60797e0 _atable_syms_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer type <array_type 0xf61115c0 type <record_type 0xf6072b80 BLK size <integer_cst 0xf5fd1240 constant 192> unit size <integer_cst 0xf5fd1200 constant 24> align 64 symtab 0 alias set 20 canonical type 0xf6072b80 fields <field_decl 0xf6072be0 clname> pointer_to_this <pointer_type 0xf6072d60>> BLK size <integer_cst 0xf5fd60a0 constant 1344> unit size <integer_cst 0xf5fd6100 constant 168> align 64 symtab 0 alias set 20 canonical type 0xf61115c0 domain <integer_type 0xf6111560 type <integer_type 0xf6070060 sizetype> DI size <integer_cst 0xf5fd05a0 constant 64> unit size <integer_cst 0xf5fd05c0 constant 8> align 64 symtab 0 alias set -1 canonical type 0xf6111560 precision 64 min <integer_cst 0xf5fd05e0 0> max <integer_cst 0xf5fd1dc0 6>> pointer_to_this <pointer_type 0xf611ec40>> constant addressable asm_written static ignored BLK file /home/amodra/src/gcc-current/libjava/classpath/gnu/java/awt/dnd/peer/gtk/GtkDragSourceContextPeer.java line 0 col 0 size <integer_cst 0xf5fd1060 type <integer_type 0xf60700c0 bitsizetype> constant 384> unit size <integer_cst 0xf5fd1280 type <integer_type 0xf6070060 sizetype> constant 48> align 64 initial <constructor 0xf6015ca0> (mem/c:BLK (symbol_ref:DI ("_atable_syms_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer") [flags 0x82] <var_decl 0xf60797e0 _atable_syms_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer>) [20 _atable_syms_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer+0 S48 A64]) chain <var_decl 0xf60798a0 _otable_syms_gnu_java_awt_dnd_peer_gtk_GtkDragSourceContextPeer>>