* expr.c (target_align): New function. Alignment the TARGET of an
commit6cbeacbbcce5571202952169d3d9c71a202b15fd
authorhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 May 2009 16:06:44 +0000 (27 16:06 +0000)
committerhainque <hainque@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 May 2009 16:06:44 +0000 (27 16:06 +0000)
treef0363ecd3a5e0d7186fb53caf50d4ad1fd624591
parent82a6565ed268782f3a8b623882406ddf43721110
* expr.c (target_align): New function.  Alignment the TARGET of an
assignment may be assume to have.
(highest_pow2_factor_for_target): Use it instead of relying on
immediate tree attributes of TARGET, not necessarily honored when
intermediate bitfields are involved.

testsuite/
* gcc.c-torture/execute/align-nest.c: New testcase.
* gnat.dg/misaligned_nest.adb: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147916 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/align-nest.c [new file with mode: 0644]
gcc/testsuite/gnat.dg/misaligned_nest.adb [new file with mode: 0644]