re PR c++/12815 (Code compiled with optimization behaves unexpectedly)
PR c++/12815 * class.c (build_base_path): Do not mark vtable references as TREE_CONSTANT. (build_vtbl_ref_1): Likewise. From-SVN: r75770
This commit is contained in:
parent
f92ed97628
commit
7b25f6e5eb
2 changed files with 7 additions and 2 deletions
|
@ -1,3 +1,10 @@
|
|||
2004-01-12 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/12815
|
||||
* class.c (build_base_path): Do not mark vtable references as
|
||||
TREE_CONSTANT.
|
||||
(build_vtbl_ref_1): Likewise.
|
||||
|
||||
2004-01-12 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR opt/10776
|
||||
|
|
|
@ -328,7 +328,6 @@ build_base_path (enum tree_code code,
|
|||
build_pointer_type (ptrdiff_type_node),
|
||||
v_offset);
|
||||
v_offset = build_indirect_ref (v_offset, NULL);
|
||||
TREE_CONSTANT (v_offset) = 1;
|
||||
|
||||
offset = convert_to_integer (ptrdiff_type_node,
|
||||
size_diffop (offset,
|
||||
|
@ -455,7 +454,6 @@ build_vtbl_ref_1 (tree instance, tree idx)
|
|||
assemble_external (vtbl);
|
||||
|
||||
aref = build_array_ref (vtbl, idx);
|
||||
TREE_CONSTANT (aref) |= TREE_CONSTANT (vtbl) && TREE_CONSTANT (idx);
|
||||
|
||||
return aref;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue