summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-30 14:35:35 +0000
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>2010-10-30 14:35:35 +0000
commitc62b15153e0cb8778e825e013646c7db501cb159 (patch)
tree0d93f77d68846f1354690a06fc36a22e15bf0bbb /gcc
parent2f703b8772dd6c89790b63b0f90c55475baa7f25 (diff)
downloadgcc-c62b15153e0cb8778e825e013646c7db501cb159.tar.gz
* class.c (layout_vtable_decl): Call build_array_of_n_type.
(build_vtt, build_ctor_vtabl_group): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166090 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog7
-rw-r--r--gcc/cp/class.c11
2 files changed, 11 insertions, 7 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index cc213f2f0ed..8df704f2bd3 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2010-10-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * class.c (layout_vtable_decl): Call build_array_of_n_type.
+ (build_vtt, build_ctor_vtabl_group): Likewise.
+
2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
@@ -8,7 +13,7 @@
objc_maybe_build_component_ref instead of objc_build_setter_call.
(cp_build_modify_expr): Call objc_maybe_build_modify_expr instead
of objc_build_getter_call.
-
+
2010-10-27 Jason Merrill <jason@redhat.com>
* cp-tree.h (cp_trait_kind): Add CPTK_IS_LITERAL_TYPE.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index a31aad3aba7..50afc48cfd4 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -1858,8 +1858,7 @@ layout_vtable_decl (tree binfo, int n)
tree atype;
tree vtable;
- atype = build_cplus_array_type (vtable_entry_type,
- build_index_type (size_int (n - 1)));
+ atype = build_array_of_n_type (vtable_entry_type, n);
layout_type (atype);
/* We may have to grow the vtable. */
@@ -7295,8 +7294,8 @@ build_vtt (tree t)
return;
/* Figure out the type of the VTT. */
- type = build_index_type (size_int (VEC_length (constructor_elt, inits) - 1));
- type = build_cplus_array_type (const_ptr_type_node, type);
+ type = build_array_of_n_type (const_ptr_type_node,
+ VEC_length (constructor_elt, inits));
/* Now, build the VTT object itself. */
vtt = build_vtable (t, mangle_vtt_for_type (t), type);
@@ -7551,8 +7550,8 @@ build_ctor_vtbl_group (tree binfo, tree t)
}
/* Figure out the type of the construction vtable. */
- type = build_index_type (size_int (VEC_length (constructor_elt, v) - 1));
- type = build_cplus_array_type (vtable_entry_type, type);
+ type = build_array_of_n_type (vtable_entry_type,
+ VEC_length (constructor_elt, v));
layout_type (type);
TREE_TYPE (vtbl) = type;
DECL_SIZE (vtbl) = DECL_SIZE_UNIT (vtbl) = NULL_TREE;