[RFA] Handle BINOP_INTDIV in valarith.c
Pierre Muller
muller@ics.u-strasbg.fr
Wed Jan 16 14:14:00 GMT 2008
While trying to write a pascal expression parser test
I came upon the problem that
BINOP_INTDIV is not handled in value_binop function.
(gdb) set lang pascal
(gdb) print 25 div 2
GDB does not (yet) know how to evaluate that kind of expression
This patch fixes this.
OK to commit?
Pierre Muller
I also noticed that the unsigned case is not guarded against v2 being zero,
but I will send another patch for this once that one is in.
ChangeLog entry:
2008-01-16 Pierre Muller <muller@ics.u-strasbg.fr>
* valarith.c (value_binop): Handle BINOP_INTDIV
for unsigned and signed integers.
Index: gdb/valarith.c
===================================================================
RCS file: /cvs/src/src/gdb/valarith.c,v
retrieving revision 1.52
diff -u -p -r1.52 valarith.c
--- gdb/valarith.c 7 Jan 2008 22:33:57 -0000 1.52
+++ gdb/valarith.c 16 Jan 2008 14:09:44 -0000
@@ -1033,6 +1033,7 @@ value_binop (struct value *arg1, struct
break;
case BINOP_DIV:
+ case BINOP_INTDIV:
v = v1 / v2;
break;
@@ -1152,6 +1153,7 @@ value_binop (struct value *arg1, struct
break;
case BINOP_DIV:
+ case BINOP_INTDIV:
if (v2 != 0)
v = v1 / v2;
else
More information about the Gdb-patches
mailing list