On Mon, Oct 08, 2012 at 05:58:15PM +0200, Marek Polacek wrote:
> 2012-10-08 Marek Polacek <[email protected]>
>
> PR debug/54831
> * var-tracking.c (vt_add_function_parameter): Use condition in place
> of gcc_assert.
Perhaps s/in place/instead/ ?
> --- gcc/var-tracking.c.mp 2012-10-08 10:56:32.354556352 +0200
> +++ gcc/var-tracking.c 2012-10-08 12:50:09.627307344 +0200
> @@ -9404,12 +9404,13 @@ vt_add_function_parameter (tree parm)
>
> if (parm != decl)
> {
> - /* Assume that DECL_RTL was a pseudo that got spilled to
> - memory. The spill slot sharing code will force the
> + /* If that DECL_RTL wasn't a pseudo that got spilled to
> + memory, bail out. The spill slot sharing code will force the
I'd perhaps add s/The/Otherwise, the/ here.
> memory to reference spill_slot_decl (%sfp), so we don't
> match above. That's ok, the pseudo must have referenced
> the entire parameter, so just reset OFFSET. */
> - gcc_assert (decl == get_spill_slot_decl (false));
> + if (decl != get_spill_slot_decl (false))
> + return;
> offset = 0;
> }
Ok with those changes.
Jakub