mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-17 21:03:55 +08:00
gdb
PR backtrace/10770: * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case. * dwarf2expr.c (new_dwarf_expr_context): Allocate dwarf_stack_values, not CORE_ADDRs. (execute_stack_op): Change DW_OP_div and comparison operators to use signed operands. gdb/testsuite PR backtrace/10770: * gdb.dwarf2/pr10770.exp: New file. * gdb.dwarf2/pr10770.c: New file. * gdb.dwarf2/Makefile.in (EXECUTABLES): Add pr10770.
This commit is contained in:
@ -1128,6 +1128,18 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
|
||||
v = v1 < v2;
|
||||
break;
|
||||
|
||||
case BINOP_GTR:
|
||||
v = v1 > v2;
|
||||
break;
|
||||
|
||||
case BINOP_LEQ:
|
||||
v = v1 <= v2;
|
||||
break;
|
||||
|
||||
case BINOP_GEQ:
|
||||
v = v1 >= v2;
|
||||
break;
|
||||
|
||||
default:
|
||||
error (_("Invalid binary operation on numbers."));
|
||||
}
|
||||
@ -1237,10 +1249,26 @@ value_binop (struct value *arg1, struct value *arg2, enum exp_opcode op)
|
||||
v = v1 == v2;
|
||||
break;
|
||||
|
||||
case BINOP_NOTEQUAL:
|
||||
v = v1 != v2;
|
||||
break;
|
||||
|
||||
case BINOP_LESS:
|
||||
v = v1 < v2;
|
||||
break;
|
||||
|
||||
case BINOP_GTR:
|
||||
v = v1 > v2;
|
||||
break;
|
||||
|
||||
case BINOP_LEQ:
|
||||
v = v1 <= v2;
|
||||
break;
|
||||
|
||||
case BINOP_GEQ:
|
||||
v = v1 >= v2;
|
||||
break;
|
||||
|
||||
default:
|
||||
error (_("Invalid binary operation on numbers."));
|
||||
}
|
||||
|
Reference in New Issue
Block a user