diff options
Diffstat (limited to 'gcc/cp')
| -rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/cp/class.c | 2 |
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; |
