aboutsummaryrefslogtreecommitdiff
path: root/gdb/eval.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1993-01-05 01:18:07 +0000
committerFred Fish <fnf@specifix.com>1993-01-05 01:18:07 +0000
commit76a0ffb47b50a3c7918eb93b4f5c5871ccdf31ef (patch)
treeffdf3c6d4491f86859a5b03b83d52d2a8f87d10f /gdb/eval.c
parentdb81c5e7d5f9e90fa76f8783d25142976e842bdc (diff)
downloadgdb-76a0ffb47b50a3c7918eb93b4f5c5871ccdf31ef.zip
gdb-76a0ffb47b50a3c7918eb93b4f5c5871ccdf31ef.tar.gz
gdb-76a0ffb47b50a3c7918eb93b4f5c5871ccdf31ef.tar.bz2
* expression.h (exp_opcode): Add BINOP_MOD.
* eval.c (evaluate_subexp): Handle new BINOP_MOD. * expprint.c (dump_expression): Handle new BINOP_MOD. * language.c (binop_type_check): Handle new BINOP_MOD. * main.c (float_handler): Re-enable float handler when hit. * valarith.c (language.h): Include, need current_language. * valarith.c (TRUNCATION_TOWARDS_ZERO): Define default macro for integer divide truncates towards zero for negative results. * valarith.c (value_x_binop): Handle BINOP_MOD if seen. * valarith.c (value_binop): Allow arithmetic operations on TYPE_CODE_CHAR variables. Add case to handle new BINOP_MOD. **** start-sanitize-chill **** * ch-exp.y (operand_4): Add useful actions for MOD and REM. * ch-exp.y (tokentab3): Add MOD and REM. * ch-exp.y (yylex): Set innermost_block for symbols found in local scopes. Return LOCATION_NAME for local symbols. * ch-lang.c (chill_op_print_tab): Fix MOD entry to use BINOP_MOD instead of BINOP_REM. Add REM entry, using BINOP_REM. **** end-sanitize-chill ****
Diffstat (limited to 'gdb/eval.c')
-rw-r--r--gdb/eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/eval.c b/gdb/eval.c
index fef404a..971ad9a 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -543,6 +543,7 @@ evaluate_subexp (expect_type, exp, pos, noside)
case BINOP_MUL:
case BINOP_DIV:
case BINOP_REM:
+ case BINOP_MOD:
case BINOP_LSH:
case BINOP_RSH:
case BINOP_BITWISE_AND:
@@ -556,7 +557,7 @@ evaluate_subexp (expect_type, exp, pos, noside)
return value_x_binop (arg1, arg2, op, OP_NULL);
else
if (noside == EVAL_AVOID_SIDE_EFFECTS
- && (op == BINOP_DIV || op == BINOP_REM))
+ && (op == BINOP_DIV || op == BINOP_REM || op == BINOP_MOD))
return value_zero (VALUE_TYPE (arg1), not_lval);
else
return value_binop (arg1, arg2, op);