PR target/77728
commit0e6ba620ce829dbde3ece9cefdbe09355ddfbb74
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Apr 2017 16:46:34 +0000 (25 16:46 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Apr 2017 16:46:34 +0000 (25 16:46 +0000)
tree94d3e4a8dc12f918f503afccde68915c08a6e229
parenta430b2526aa965f67e891c0c1169c8ca9086bcd5
PR target/77728
* config/arm/arm.c: Include gimple.h.
(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
returns negative, increment ncrn only if it returned positive.
(arm_needs_doubleword_align): Return int instead of bool,
ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
members, but if there is any such non-FIELD_DECL
> PARM_BOUNDARY aligned decl, return -1 instead of false.
(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
returns negative, increment nregs only if it returned positive.
(arm_setup_incoming_varargs): Likewise.
(arm_function_arg_boundary): Emit -Wpsabi note if
arm_needs_doubleword_align returns negative, return
DOUBLEWORD_ALIGNMENT only if it returned positive.
testsuite/
* g++.dg/abi/pr77728-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247258 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/abi/pr77728-1.C [new file with mode: 0644]