From: Eric Botcazou Date: Fri, 18 Apr 2008 18:33:14 +0000 (+0000) Subject: decl.c (maybe_pad_type): Only generate the XVS parallel type if the padded type has... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3569056b39aa149312e75580a00a6a012eb22d05;p=gcc.git decl.c (maybe_pad_type): Only generate the XVS parallel type if the padded type has a variable size. * decl.c (maybe_pad_type): Only generate the XVS parallel type if the padded type has a variable size. From-SVN: r134443 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3f23e2f5d8d..2242667c1a1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2008-04-18 Eric Botcazou + + * decl.c (maybe_pad_type): Only generate the XVS parallel type if + the padded type has a variable size. + 2008-04-18 Eric Botcazou * decl.c (gnat_to_gnu_entity) : Use the return by diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c index 254b70a2722..525dad807fa 100644 --- a/gcc/ada/decl.c +++ b/gcc/ada/decl.c @@ -5683,11 +5683,12 @@ maybe_pad_type (tree type, tree size, unsigned int align, /* Unless debugging information isn't being written for the input type, write a record that shows what we are a subtype of and also make a - variable that indicates our size, if variable. */ + variable that indicates our size, if still variable. */ if (TYPE_NAME (record) && AGGREGATE_TYPE_P (type) - && (TREE_CODE (TYPE_NAME (type)) != TYPE_DECL - || !DECL_IGNORED_P (TYPE_NAME (type)))) + && TREE_CODE (orig_size) != INTEGER_CST + && !(TREE_CODE (TYPE_NAME (type)) == TYPE_DECL + && DECL_IGNORED_P (TYPE_NAME (type)))) { tree marker = make_node (RECORD_TYPE); tree name = TYPE_NAME (record);