mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-01 08:54:44 +08:00
* ax-gdb.c (gen_expr): Add UNOP_PLUS case.
* c-exp.y (exp): Add unary plus. * eval.c (evaluate_subexp_standard): Add UNOP_PLUS case. * valarith.c (value_x_unop): Add UNOP_PLUS case. (value_pos): New. * value.h (value_pos): Declare. * gdb.cp/userdef.cc (A1::operator+): New unary plus. (A2): New class. (main): Test operator+. * gdb.cp/userdef.exp: Test unary plus. Use A2::operator+ for breakpoint test.
This commit is contained in:
@ -1855,6 +1855,15 @@ evaluate_subexp_standard (struct type *expect_type,
|
||||
evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
return evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
|
||||
case UNOP_PLUS:
|
||||
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
if (noside == EVAL_SKIP)
|
||||
goto nosideret;
|
||||
if (unop_user_defined_p (op, arg1))
|
||||
return value_x_unop (arg1, op, noside);
|
||||
else
|
||||
return value_pos (arg1);
|
||||
|
||||
case UNOP_NEG:
|
||||
arg1 = evaluate_subexp (NULL_TYPE, exp, pos, noside);
|
||||
if (noside == EVAL_SKIP)
|
||||
|
Reference in New Issue
Block a user