From: Richard Henderson Date: Thu, 11 Aug 2011 15:09:30 +0000 (-0700) Subject: re PR bootstrap/50018 (fixup_args_size_notes ICE breaks m68k-linux bootstrap) X-Git-Tag: releases/gcc-4.7.0~4487 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6bfd73a62142342d1412f0bce7a1241e033e1a43;p=thirdparty%2Fgcc.git re PR bootstrap/50018 (fixup_args_size_notes ICE breaks m68k-linux bootstrap) PR bootstrap/50018 * expr.c (fixup_args_size_notes): Accept and ignore normal calls. From-SVN: r177669 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b7aff65d20e..e7ed90d3d52d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-08-11 Richard Henderson + + PR bootstrap/50018 + * expr.c (fixup_args_size_notes): Accept and ignore normal calls. + 2011-08-11 Richard Guenther * lto-cgraph.c (input_node): Use DECL_BUILT_IN. diff --git a/gcc/expr.c b/gcc/expr.c index f0b76e187b77..997eb3e02232 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -3567,8 +3567,10 @@ fixup_args_size_notes (rtx prev, rtx last, int end_args_size) /* Look for a call_pop pattern. */ if (CALL_P (insn)) { - /* We're not supposed to see non-pop call patterns here. */ - gcc_assert (GET_CODE (pat) == PARALLEL); + /* We have to allow non-call_pop patterns for the case + of emit_single_push_insn of a TLS address. */ + if (GET_CODE (pat) != PARALLEL) + continue; /* All call_pop have a stack pointer adjust in the parallel. The call itself is always first, and the stack adjust is @@ -3583,7 +3585,8 @@ fixup_args_size_notes (rtx prev, rtx last, int end_args_size) break; } /* We'd better have found the stack pointer adjust. */ - gcc_assert (i > 0); + if (i == 0) + continue; /* Fall through to process the extracted SET and DEST as if it was a standalone insn. */ }