debug6.adb
170 Bytes
-
DWARF: fix stack usage assessment for DW_OP_neg · cd36c83e
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. gcc/ * dwarf2out.c (resolve_args_picking_1): Consider DW_OP_neg as an unary operation, not a binary one. gcc/testsuite/ * gnat.dg/debug6.adb, gnat.dg/debug6_pkg.ads: New testcase. From-SVN: r236087
Pierre-Marie de Rodat committed