mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 17:11:01 +08:00
decl.c (gnat_to_gnu_entity): If there is an alignment set on a renaming...
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an alignment set on a renaming, assert that the renamed object is aligned enough as to make it possible to honor it. From-SVN: r182201
This commit is contained in:
parent
5d74133f84
commit
50751f49cc
@ -1,3 +1,9 @@
|
||||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
|
||||
alignment set on a renaming, assert that the renamed object is aligned
|
||||
enough as to make it possible to honor it.
|
||||
|
||||
2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/trans.c (gigi): Initialize the linemap earlier.
|
||||
|
@ -1008,6 +1008,17 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
|
||||
saved = true;
|
||||
annotate_object (gnat_entity, gnu_type, NULL_TREE,
|
||||
false, false);
|
||||
/* This assertion will fail if the renamed object
|
||||
isn't aligned enough as to make it possible to
|
||||
honor the alignment set on the renaming. */
|
||||
if (align)
|
||||
{
|
||||
unsigned int renamed_align
|
||||
= DECL_P (gnu_decl)
|
||||
? DECL_ALIGN (gnu_decl)
|
||||
: TYPE_ALIGN (TREE_TYPE (gnu_decl));
|
||||
gcc_assert (renamed_align >= align);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user