diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-12-22 00:10:45 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-12-22 00:10:45 +0100 |
commit | 604aac48157176b932b5a8772db4d4919199c300 (patch) | |
tree | b5d4bdc392365b4e9bd0c05520f364bc8a855a9f /gcc/config/i386 | |
parent | 36367d1f19e2a61bd05b292df8f27aab4c03ba72 (diff) | |
download | gcc-604aac48157176b932b5a8772db4d4919199c300.zip gcc-604aac48157176b932b5a8772db4d4919199c300.tar.gz gcc-604aac48157176b932b5a8772db4d4919199c300.tar.bz2 |
re PR middle-end/83487 (ICE in expand_call, at calls.c:4098)
PR middle-end/83487
* config/i386/i386.c (ix86_function_arg_boundary): Return
PARM_BOUNDARY for TYPE_EMPTY_P types.
* gcc.c-torture/compile/pr83487.c: New test.
* gcc.dg/compat/pr83487-1.h: New file.
* gcc.dg/compat/pr83487-1_main.c: New test.
* gcc.dg/compat/pr83487-1_x.c: New file.
* gcc.dg/compat/pr83487-1_y.c: New file.
* gcc.dg/compat/pr83487-2_main.c: New test.
* gcc.dg/compat/pr83487-2_x.c: New file.
* gcc.dg/compat/pr83487-2_y.c: New file.
* g++.dg/abi/pr83487.C: New test.
* g++.dg/compat/abi/pr83487-1_main.C: New test.
* g++.dg/compat/abi/pr83487-1_x.C: New file.
* g++.dg/compat/abi/pr83487-1_y.C: New file.
* g++.dg/compat/abi/pr83487-2_main.C: New test.
* g++.dg/compat/abi/pr83487-2_x.C: New file.
* g++.dg/compat/abi/pr83487-2_y.C: New file.
From-SVN: r255961
Diffstat (limited to 'gcc/config/i386')
-rw-r--r-- | gcc/config/i386/i386.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index beeabff..8d02eb2 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8973,6 +8973,8 @@ ix86_function_arg_boundary (machine_mode mode, const_tree type) the main variant type. */ type = TYPE_MAIN_VARIANT (type); align = TYPE_ALIGN (type); + if (TYPE_EMPTY_P (type)) + return PARM_BOUNDARY; } else align = GET_MODE_ALIGNMENT (mode); |