Commit 5b8b4a88 by Jakub Jelinek Committed by Jakub Jelinek

re PR c++/83490 (ICE in find_call_stack_args, at dce.c:392)

	PR c++/83490
	* calls.c (compute_argument_addresses): Ignore TYPE_EMPTY_P arguments.

	* g++.dg/abi/empty29.C: New test.

From-SVN: r255852
parent ee050a6e
2017-12-20 Jakub Jelinek <jakub@redhat.com>
PR c++/83490
* calls.c (compute_argument_addresses): Ignore TYPE_EMPTY_P arguments.
2017-12-20 Julia Koval <julia.koval@intel.com> 2017-12-20 Julia Koval <julia.koval@intel.com>
* common/config/i386/i386-common.c (OPTION_MASK_ISA_VPCLMULQDQ_SET, * common/config/i386/i386-common.c (OPTION_MASK_ISA_VPCLMULQDQ_SET,
...@@ -2365,6 +2365,9 @@ compute_argument_addresses (struct arg_data *args, rtx argblock, int num_actuals ...@@ -2365,6 +2365,9 @@ compute_argument_addresses (struct arg_data *args, rtx argblock, int num_actuals
&& args[i].partial == 0) && args[i].partial == 0)
continue; continue;
if (TYPE_EMPTY_P (TREE_TYPE (args[i].tree_value)))
continue;
/* Pointer Bounds are never passed on the stack. */ /* Pointer Bounds are never passed on the stack. */
if (POINTER_BOUNDS_P (args[i].tree_value)) if (POINTER_BOUNDS_P (args[i].tree_value))
continue; continue;
......
2017-12-20 Jakub Jelinek <jakub@redhat.com>
PR c++/83490
* g++.dg/abi/empty29.C: New test.
2017-12-20 Martin Liska <mliska@suse.cz> 2017-12-20 Martin Liska <mliska@suse.cz>
PR middle-end/82404 PR middle-end/82404
......
// PR c++/83490
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-fipa-icf-functions -Og -maccumulate-outgoing-args" }
struct A {};
A operator < (A, A) { return A (); }
A operator > (A, A) { return A (); }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment