aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 90ded5b..5f6ee37 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
+ ignoring other target adjustments.
+
2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
* semantics.c (finish_omp_clauses): Remove duplicated variable
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 05aacfa..14780e7 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -768,11 +768,8 @@ build_vtable (tree class_type, tree name, tree vtable_type)
TREE_READONLY (decl) = 1;
DECL_VIRTUAL_P (decl) = 1;
DECL_ALIGN (decl) = TARGET_VTABLE_ENTRY_ALIGN;
+ DECL_USER_ALIGN (decl) = true;
DECL_VTABLE_OR_VTT_P (decl) = 1;
- /* At one time the vtable info was grabbed 2 words at a time. This
- fails on sparc unless you have 8-byte alignment. (tiemann) */
- DECL_ALIGN (decl) = MAX (TYPE_ALIGN (double_type_node),
- DECL_ALIGN (decl));
set_linkage_according_to_type (class_type, decl);
/* The vtable has not been defined -- yet. */
DECL_EXTERNAL (decl) = 1;