aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-05-24 03:41:06 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-05-24 01:41:06 +0000
commit8ce8d98e74b3c9e8a03443a936624f46f00e5cde (patch)
tree63aeb9247ebdb27175780df3aad34ace781adf11
parent53cb0386c249cdb0a758eae0a1b23f9a396f9508 (diff)
downloadgcc-8ce8d98e74b3c9e8a03443a936624f46f00e5cde.zip
gcc-8ce8d98e74b3c9e8a03443a936624f46f00e5cde.tar.gz
gcc-8ce8d98e74b3c9e8a03443a936624f46f00e5cde.tar.bz2
class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN ignoring other target adjustments.
* class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN ignoring other target adjustments. From-SVN: r210886
-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;