diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2005-03-08 14:35:20 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2005-03-08 14:35:20 +0000 |
commit | 36e9969cac95317f057b47509cf63271bccd98b0 (patch) | |
tree | b8c229973ba4500194f9b95686edd5d45fef1e89 /gdb/ax-gdb.c | |
parent | 3de11b2ef2c380882c4dcf3fa980b9817d229b04 (diff) | |
download | gdb-36e9969cac95317f057b47509cf63271bccd98b0.zip gdb-36e9969cac95317f057b47509cf63271bccd98b0.tar.gz gdb-36e9969cac95317f057b47509cf63271bccd98b0.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/ax-gdb.c')
-rw-r--r-- | gdb/ax-gdb.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index 98d9ef5..1b0097f 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -1642,6 +1642,13 @@ gen_expr (union exp_element **pc, struct agent_expr *ax, } break; + case UNOP_PLUS: + (*pc)++; + /* + FOO is equivalent to 0 + FOO, which can be optimized. */ + gen_expr (pc, ax, value); + gen_usual_unary (ax, value); + break; + case UNOP_NEG: (*pc)++; /* -FOO is equivalent to 0 - FOO. */ |