* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Jan 2010 08:13:50 +0000 (08:13 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Jan 2010 08:13:50 +0000 (08:13 +0000)
commitab84c349d3a1d405b769f9a4717621152e8da8f5
tree3b76f6fe9d8dc678e83b02a7245e921fce8c9690
parent4fc5fe463eab0652ad87b8948129fede1abe50b1
* dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
(loc_list_from_tree): Don't handle unsigned division.  Handle
signed modulo using DW_OP_{over,over,div,mul,minus}.
* unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
modulo instead of signed.

* gcc.dg/cleanup-13.c: Expect DW_OP_mod to do unsigned modulo instead
of signed, add a few new tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156063 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cleanup-13.c
gcc/unwind-dw2.c