diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2018-11-08 15:19:20 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2018-11-08 15:19:20 +0000 |
commit | 0d8f74b4cf06835a327aaef69787a4b7d9dc8e66 (patch) | |
tree | 482495e0d36bb75f4d01e476d891266a00a62810 /gcc/ada/gcc-interface/decl.c | |
parent | 67124cb62dd566664aa53183821957fa97b27e54 (diff) | |
download | gcc-0d8f74b4cf06835a327aaef69787a4b7d9dc8e66.zip gcc-0d8f74b4cf06835a327aaef69787a4b7d9dc8e66.tar.gz gcc-0d8f74b4cf06835a327aaef69787a4b7d9dc8e66.tar.bz2 |
decl.c (components_to_record): Remove obsolete kludge.
* gcc-interface/decl.c (components_to_record): Remove obsolete kludge.
* gcc-interface/utils.c (make_packable_type): Set TYPE_PACKED on the
new type but do not take into account the setting on the old type for
the new fields. Rename a local variable.
(finish_record_type): Clear DECL_BIT_FIELD_TYPE on a variant part at
offset 0, if any.
(create_field_decl): Tweak comment.
From-SVN: r265917
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index c658aac..d8fb8ee 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -8146,23 +8146,7 @@ components_to_record (Node_Id gnat_component_list, Entity_Id gnat_record_type, /* Chain the variant part at the end of the field list. */ if (gnu_variant_part) - { - /* We make an exception if the variant part is at offset 0, has a fixed - size, and there is a single rep'ed field placed after it because, in - this case, there is an obvious order of increasing position. */ - if (variants_have_rep - && TREE_CODE (DECL_SIZE_UNIT (gnu_variant_part)) == INTEGER_CST - && gnu_rep_list - && gnu_field_list == gnu_rep_list - && !tree_int_cst_lt (DECL_FIELD_OFFSET (gnu_rep_list), - DECL_SIZE_UNIT (gnu_variant_part))) - { - DECL_CHAIN (gnu_variant_part) = gnu_field_list; - gnu_field_list = gnu_variant_part; - } - else - gnu_field_list = chainon (gnu_field_list, gnu_variant_part); - } + gnu_field_list = chainon (gnu_field_list, gnu_variant_part); if (cancel_alignment) SET_TYPE_ALIGN (gnu_record_type, 0); |