aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/class.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 3140ecf..0f41c56 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2010-02-18 Jason Merrill <jason@redhat.com>
+ PR c++/42837
+ * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
+
PR c++/43108
* typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
C build_binary_op.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index f88914d..f7e0a93 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -4554,6 +4554,8 @@ create_vtable_ptr (tree t, tree* virtuals_p)
DECL_ARTIFICIAL (field) = 1;
DECL_FIELD_CONTEXT (field) = t;
DECL_FCONTEXT (field) = t;
+ if (TYPE_PACKED (t))
+ DECL_PACKED (field) = 1;
TYPE_VFIELD (t) = field;