PR target/77728 11/134411/3
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 25 Apr 2017 16:47:32 +0000 (16:47 +0000)
committerDongkyun Son <dongkyun.s@samsung.com>
Thu, 22 Jun 2017 13:58:55 +0000 (13:58 +0000)
commit6da83d4adc857ba1c4370b2b8f32825d5cb13ebe
tree7b9c762c3c86e51b942ee9af7c73079f69089c17
parent0b7063a7415d107715e262ed8b9a03ff14af223e
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.

Backported from trunk:
0e6ba620ce829dbde3ece9cefdbe09355ddfbb74

Change-Id: Ia454a63c3ebb930e546188ded5f339a967d81754
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@247259 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/config/arm/arm.c
gcc/testsuite/g++.dg/abi/pr77728-1.C [new file with mode: 0644]