This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA] Handle BINOP_INTDIV in valarith.c
- From: "Pierre Muller" <muller at ics dot u-strasbg dot fr>
- To: <gdb-patches at sourceware dot org>
- Date: Wed, 16 Jan 2008 15:13:14 +0100
- Subject: [RFA] Handle BINOP_INTDIV in valarith.c
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