[Bug fortran/50960] [OOP] vtables not marked as constant
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 2 14:38:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50960
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-11-02 14:37:35 UTC ---
The vtable object looks like (with the patch):
<var_decl 0x7ffff5a2c280 __vtab_m_T
type <record_type 0x7ffff5b37dc8 __vtype_m_T BLK
size <integer_cst 0x7ffff5b12980 constant 320>
unit size <integer_cst 0x7ffff5b129a0 constant 40>
align 64 symtab 0 alias set -1 canonical type 0x7ffff5b37dc8
fields <field_decl 0x7ffff5b31428 _hash type <integer_type
0x7ffff5a315e8 integer(kind=4)>
SI file t.f90 line 18 col 0
size <integer_cst 0x7ffff5a34240 constant 32>
unit size <integer_cst 0x7ffff5a34260 constant 4>
align 32 offset_align 128
offset <integer_cst 0x7ffff5a20f00 constant 0>
bit offset <integer_cst 0x7ffff5a20f60 constant 0> context
<record_type 0x7ffff5b37dc8 __vtype_m_T> chain <field_decl 0x7ffff5b314c0
_size>> context <namespace_decl 0x7ffff5a4b7e8 m>
pointer_to_this <pointer_type 0x7ffff5b37f18> chain <type_decl
0x7ffff5a4bcf0 D.1735>>
addressable used public static BLK file t.f90 line 18 col 0 size
<integer_cst 0x7ffff5b12980 320> unit size <integer_cst 0x7ffff5b129a0 40>
align 256 context <namespace_decl 0x7ffff5a4b7e8 m> initial <constructor
0x7ffff5b1de70> chain <function_decl 0x7ffff5b38600 base>>
it is not TREE_READONLY. The constructor looks ok:
{._hash=6736034, ._size=0, ._extends=0B, ._def_init=&__def_init_m_T,
._copy=__copy_m_T, .bar=base}
Instead of a VAR_DECL it could maybe also be a CONST_DECL(?). But first
try setting TREE_READONLY on it.
More information about the Gcc-bugs
mailing list