From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30917 invoked by alias); 25 Jan 2008 10:52:59 -0000 Received: (qmail 30904 invoked by uid 22791); 25 Jan 2008 10:52:58 -0000 X-Spam-Check-By: sourceware.org Received: from ics.u-strasbg.fr (HELO ics.u-strasbg.fr) (130.79.112.250) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 25 Jan 2008 10:52:30 +0000 Received: from ICSMULLER (laocoon.u-strasbg.fr [130.79.112.72]) by ics.u-strasbg.fr (Postfix) with ESMTP id C591F18701B; Fri, 25 Jan 2008 11:58:54 +0100 (CET) From: "Pierre Muller" To: "'Joel Brobecker'" Cc: References: <002d01c85849$ef420f80$cdc62e80$@u-strasbg.fr> <20080117115741.GC28020@adacore.com> <20080117120327.GD28020@adacore.com> In-Reply-To: Subject: [RFA] Handle BINOP_INTDIV in eval.c Date: Fri, 25 Jan 2008 13:07:00 -0000 Message-ID: <004001c85f40$60c92600$225b7200$@u-strasbg.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 12.0 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-3.0 (mailhost.u-strasbg.fr [130.79.200.151]); Mon, 21 Jan 2008 16:04:56 +0100 (CET) X-Virus-Status: Clean Content-Language: en-us Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-01/txt/msg00607.txt.bz2 My first patch handling BINOP_INTDIV was incomplete, I forgot the eval.c part that is required: I send here a minimal patch to allow to get a 'print 13 div 3' to return '4' Is this OK? ChangeLog entry: 2008-01-25 Pierre Muller * eval.c (evaluate_subexp_standard): Support BINOP_INTDIV opcode. Index: gdb/eval.c =================================================================== RCS file: /cvs/src/src/gdb/eval.c,v retrieving revision 1.77 diff -u -p -r1.77 eval.c --- gdb/eval.c 18 Jan 2008 17:07:39 -0000 1.77 +++ gdb/eval.c 21 Jan 2008 14:55:45 -0000 @@ -1496,6 +1496,7 @@ evaluate_subexp_standard (struct type *e case BINOP_EXP: case BINOP_MUL: case BINOP_DIV: + case BINOP_INTDIV: case BINOP_REM: case BINOP_MOD: case BINOP_LSH: @@ -1510,7 +1511,8 @@ evaluate_subexp_standard (struct type *e if (binop_user_defined_p (op, arg1, arg2)) return value_x_binop (arg1, arg2, op, OP_NULL, noside); else if (noside == EVAL_AVOID_SIDE_EFFECTS - && (op == BINOP_DIV || op == BINOP_REM || op == BINOP_MOD)) + && (op == BINOP_DIV || op == BINOP_REM || op == BINOP_MOD + || op == BINOP_INTDIV)) return value_zero (value_type (arg1), not_lval); else return value_binop (arg1, arg2, op);