On Tue, May 10, 2016 at 05:06:59PM +0200, Pierre-Marie de Rodat wrote:
> When the DWARF back-end generates DW_OP_neg operations in DWARF
> procedures, we get an ICE because of inconsistent stack usage
> computation for the embedding expression. This is because
> resolve_args_picking_1 thinks DW_OP_neg is a binary operation (pops 2
> stack slots, pushes 1) whereas it really is an unary one (one pop, one
> push).
> 
> This change fixes resolve_args_picking_1 and adds a regression testcase
> (which crashes with the current trunk).  Bootstrapped and regtested
> without regression on x86_64-linux. Ok to commit?
> 
> Thank you in advance!
> 
> gcc/
> 
>       * dwarf2out.c (resolve_args_picking_1): Consider DW_OP_neg as an
>       unary operation, not a binary one.

Ok.

> gcc/testsuite/
> 
>       * gnat.dg/debug6.adb, gnat.dg/debug6_pkg.ads: New testcase.

        Jakub

Reply via email to