* class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 May 2014 01:41:06 +0000 (01:41 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 24 May 2014 01:41:06 +0000 (01:41 +0000)
ignoring other target adjustments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210886 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/class.c

index 90ded5b..5f6ee37 100644 (file)
@@ -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
index 05aacfa..14780e7 100644 (file)
@@ -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;