aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2014-04-14 13:33:23 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2014-04-14 13:33:23 +0000
commitcb27986c9b5f270f880089d0bda74d10e76e8a3d (patch)
treec5328aef0529b219ce30c1e05f39197286ba85c8 /gcc/ada/gcc-interface/decl.c
parent069fdd05da4e7abd6d6bd9415186f21b3cf14816 (diff)
downloadgcc-cb27986c9b5f270f880089d0bda74d10e76e8a3d.zip
gcc-cb27986c9b5f270f880089d0bda74d10e76e8a3d.tar.gz
gcc-cb27986c9b5f270f880089d0bda74d10e76e8a3d.tar.bz2
stor-layout.c (place_field): Finalize non-constant offset for the field, if any.
* stor-layout.c (place_field): Finalize non-constant offset for the field, if any. ada/ * gcc-interface/decl.c (create_field_decl_from): Finalize non-constant offset for the field, if any. From-SVN: r209369
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r--gcc/ada/gcc-interface/decl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index 4180e59..1e07693 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -8443,7 +8443,8 @@ create_field_decl_from (tree old_field, tree field_type, tree record_type,
if (!new_pos)
{
normalize_offset (&pos, &bitpos, offset_align);
- DECL_FIELD_OFFSET (new_field) = pos;
+ /* Finalize the position. */
+ DECL_FIELD_OFFSET (new_field) = variable_size (pos);
DECL_FIELD_BIT_OFFSET (new_field) = bitpos;
SET_DECL_OFFSET_ALIGN (new_field, offset_align);
DECL_SIZE (new_field) = size;