summaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-06 02:09:02 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-06 02:09:02 +0000
commit2bc7da70381f8e12129c1c470aee18ccaf465e0b (patch)
treee5a04b6dd5dab15766d0b02b4b48425818534909 /gcc/c-common.c
parentd14c819e7e3a6da5fe3a553067fdbe60890b89e5 (diff)
downloadgcc-2bc7da70381f8e12129c1c470aee18ccaf465e0b.tar.gz
PR c++/13983
PR c++/17519 * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants. * c-common.c (handle_packed_attribute): So don't copy it here. * c-decl.c (finish_struct): Don't copy TYPE_ALIGN. * cp/class.c (check_field_decls): Check TYPE_PACKED after stripping array types. (finish_struct_bits): Don't copy TYPE_SIZE here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115217 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index ac7dd7ddee3..61bf12bbb59 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -4082,20 +4082,6 @@ handle_packed_attribute (tree *node, tree name, tree ARG_UNUSED (args),
if (!(flags & (int) ATTR_FLAG_TYPE_IN_PLACE))
*node = build_variant_type_copy (*node);
TYPE_PACKED (*node) = 1;
- if (TYPE_MAIN_VARIANT (*node) == *node)
- {
- /* If it is the main variant, then pack the other variants
- too. This happens in,
-
- struct Foo {
- struct Foo const *ptr; // creates a variant w/o packed flag
- } __ attribute__((packed)); // packs it now.
- */
- tree probe;
-
- for (probe = *node; probe; probe = TYPE_NEXT_VARIANT (probe))
- TYPE_PACKED (probe) = 1;
- }
}
else if (TREE_CODE (*node) == FIELD_DECL)
{