re PR ipa/64776 (FAIL: gcc.dg/ipa/pr64307.c (internal compiler error) on x86_64-apple-darwin14)

PR ipa/64776
	* cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
	handle the first argument in the same loop as all the other arguments.

From-SVN: r220156
This commit is contained in:
Jakub Jelinek 2015-01-27 10:21:26 +01:00 committed by Jakub Jelinek
parent 6d71672db6
commit 4eaf52aabb
2 changed files with 13 additions and 5 deletions

View file

@ -1,5 +1,9 @@
2015-01-27 Jakub Jelinek <jakub@redhat.com>
PR ipa/64776
* cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
handle the first argument in the same loop as all the other arguments.
PR rtl-optimization/61058
* jump.c (cleanup_barriers): Update basic block boundaries
if BLOCK_FOR_INSN is non-NULL on PREV.

View file

@ -1610,14 +1610,18 @@ cgraph_node::expand_thunk (bool output_asm_thunks, bool force_gimple_thunk)
for (arg = a; arg; arg = DECL_CHAIN (arg))
nargs++;
auto_vec<tree> vargs (nargs);
i = 0;
arg = a;
if (this_adjusting)
vargs.quick_push (thunk_adjust (&bsi, a, 1, fixed_offset,
virtual_offset));
else if (nargs)
vargs.quick_push (a);
{
vargs.quick_push (thunk_adjust (&bsi, a, 1, fixed_offset,
virtual_offset));
arg = DECL_CHAIN (a);
i = 1;
}
if (nargs)
for (i = 1, arg = DECL_CHAIN (a); i < nargs; i++, arg = DECL_CHAIN (arg))
for (; i < nargs; i++, arg = DECL_CHAIN (arg))
{
tree tmp = arg;
if (!is_gimple_val (arg))