dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead of MOD...
authorJakub Jelinek <jakub@redhat.com>
Wed, 20 Jan 2010 08:13:50 +0000 (09:13 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 20 Jan 2010 08:13:50 +0000 (09:13 +0100)
commit80c35b40e481737a452e96a4a9f89cae6c2b2e68
tree3b76f6fe9d8dc678e83b02a7245e921fce8c9690
parent204803dc83d90012ceae0b33a7c469098754da33
dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead of MOD...

* 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.

From-SVN: r156063
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cleanup-13.c
gcc/unwind-dw2.c