2009-08-24 Keith Seitz <keiths@redhat.com>
+ * c-exp.y (tokentab3): Add new token, ARROW_STAR. Changed all users.
+ (tokentab2): Add new token, DOT_STAR. Changed all users.
+
+2009-08-24 Keith Seitz <keiths@redhat.com>
+
* symtab.c (default_make_symbol_completion_list): Keep
':', too, so that we can limit searches in namespaces
and classes.
%left '+' '-'
%left '*' '/' '%'
%right UNARY INCREMENT DECREMENT
-%right ARROW '.' '[' '('
+%right ARROW ARROW_STAR '.' DOT_STAR '[' '('
%token <ssym> BLOCKNAME
%token <bval> FILENAME
%type <bval> block
write_exp_elt_opcode (STRUCTOP_MPTR); }
;
-exp : exp ARROW '*' exp
+exp : exp ARROW_STAR exp
{ write_exp_elt_opcode (STRUCTOP_MPTR); }
;
write_exp_elt_opcode (STRUCTOP_MEMBER); }
;
-exp : exp '.' '*' exp
+exp : exp DOT_STAR exp
{ write_exp_elt_opcode (STRUCTOP_MEMBER); }
;
static const struct token tokentab3[] =
{
{">>=", ASSIGN_MODIFY, BINOP_RSH, 0},
- {"<<=", ASSIGN_MODIFY, BINOP_LSH, 0}
+ {"<<=", ASSIGN_MODIFY, BINOP_LSH, 0},
+ {"->*", ARROW_STAR, BINOP_END, 1}
};
static const struct token tokentab2[] =
{"==", EQUAL, BINOP_END, 0},
{"!=", NOTEQUAL, BINOP_END, 0},
{"<=", LEQ, BINOP_END, 0},
- {">=", GEQ, BINOP_END, 0}
+ {">=", GEQ, BINOP_END, 0},
+ {".*", DOT_STAR, BINOP_END, 0}
};
/* Identifier-like tokens. */