diff options
author | Daniel Jacobowitz <drow@false.org> | 2002-10-26 17:12:33 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2002-10-26 17:12:33 +0000 |
commit | 6ef1bcec6069b5bcb4481998f3dedc5dbcc31921 (patch) | |
tree | 8bfd3851498d0dfbcbff9ede0e65e02442df6730 /gdb/parse.c | |
parent | 5f6ea76b78320c21d11477709a8c733f47e46d8a (diff) | |
download | binutils-6ef1bcec6069b5bcb4481998f3dedc5dbcc31921.zip binutils-6ef1bcec6069b5bcb4481998f3dedc5dbcc31921.tar.gz binutils-6ef1bcec6069b5bcb4481998f3dedc5dbcc31921.tar.bz2 |
Merge drow-cplus-merge-20021025 to drow-cplus-branch.
Diffstat (limited to 'gdb/parse.c')
-rw-r--r-- | gdb/parse.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/gdb/parse.c b/gdb/parse.c index 29b8e3c..5d81dfd 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -830,6 +830,11 @@ length_of_subexp (register struct expression *expr, register int endpos) args = 1 + longest_to_int (expr->elts[endpos - 2].longconst); break; + case OP_MSGCALL: /* Objective C message (method) call */ + oplen = 4; + args = 1 + longest_to_int (expr->elts[endpos - 2].longconst); + break; + case UNOP_MAX: case UNOP_MIN: oplen = 3; @@ -861,6 +866,8 @@ length_of_subexp (register struct expression *expr, register int endpos) /* fall through */ case OP_M2_STRING: case OP_STRING: + case OP_NSSTRING: /* Objective C Foundation Class NSString constant */ + case OP_SELECTOR: /* Objective C "@selector" pseudo-op */ case OP_NAME: case OP_EXPRSTRING: oplen = longest_to_int (expr->elts[endpos - 2].longconst); @@ -899,6 +906,7 @@ length_of_subexp (register struct expression *expr, register int endpos) /* C++ */ case OP_THIS: + case OP_SELF: oplen = 2; break; @@ -967,6 +975,11 @@ prefixify_subexp (register struct expression *inexpr, args = 1 + longest_to_int (inexpr->elts[inend - 2].longconst); break; + case OP_MSGCALL: /* Objective C message (method) call */ + oplen = 4; + args = 1 + longest_to_int (inexpr->elts[inend - 2].longconst); + break; + case UNOP_MIN: case UNOP_MAX: oplen = 3; @@ -997,6 +1010,8 @@ prefixify_subexp (register struct expression *inexpr, /* fall through */ case OP_M2_STRING: case OP_STRING: + case OP_NSSTRING: /* Objective C Foundation Class NSString constant */ + case OP_SELECTOR: /* Objective C "@selector" pseudo-op */ case OP_NAME: case OP_EXPRSTRING: oplen = longest_to_int (inexpr->elts[inend - 2].longconst); @@ -1035,6 +1050,7 @@ prefixify_subexp (register struct expression *inexpr, /* C++ */ case OP_THIS: + case OP_SELF: oplen = 2; break; @@ -1107,7 +1123,7 @@ parse_exp_1 (char **stringptr, struct block *block, int comma) if (block) { expression_context_block = block; - expression_context_pc = block->startaddr; + expression_context_pc = BLOCK_START (block); } else expression_context_block = get_selected_block (&expression_context_pc); |