diff options
author | Daniel Jacobowitz <dan@codesourcery.com> | 2007-11-08 12:48:28 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@gcc.gnu.org> | 2007-11-08 12:48:28 +0000 |
commit | 8208d7dc3012faadc09726f03363fa9a8f96ff66 (patch) | |
tree | 47cc2b29e83533c4fc38f568fda130c3164ebc0e /gcc/cp/class.c | |
parent | 0a485bae9f0aa4a2ad5236131113e16a339213db (diff) | |
download | gcc-8208d7dc3012faadc09726f03363fa9a8f96ff66.zip gcc-8208d7dc3012faadc09726f03363fa9a8f96ff66.tar.gz gcc-8208d7dc3012faadc09726f03363fa9a8f96ff66.tar.bz2 |
class.c (build_ctor_vtbl_group): Lay out the new type and decl.
* class.c (build_ctor_vtbl_group): Lay out the new type and decl.
* g++.dg/opt/anchor1.C: New.
From-SVN: r129997
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r-- | gcc/cp/class.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c index e468db3..6e67157 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -7006,7 +7006,10 @@ build_ctor_vtbl_group (tree binfo, tree t) /* Figure out the type of the construction vtable. */ type = build_index_type (size_int (list_length (inits) - 1)); type = build_cplus_array_type (vtable_entry_type, type); + layout_type (type); TREE_TYPE (vtbl) = type; + DECL_SIZE (vtbl) = DECL_SIZE_UNIT (vtbl) = NULL_TREE; + layout_decl (vtbl, 0); /* Initialize the construction vtable. */ CLASSTYPE_VTABLES (t) = chainon (CLASSTYPE_VTABLES (t), vtbl); |