* c-exp.y (tokentab3): Add new token, ARROW_STAR. Changed all users.
authorKeith Seitz <keiths@redhat.com>
Tue, 25 Aug 2009 00:23:07 +0000 (00:23 +0000)
committerKeith Seitz <keiths@redhat.com>
Tue, 25 Aug 2009 00:23:07 +0000 (00:23 +0000)
(tokentab2): Add new token, DOT_STAR. Changed all users.

gdb/ChangeLog
gdb/c-exp.y

index 5d6edfc..94b0431 100644 (file)
@@ -1,5 +1,10 @@
 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. 
index aacc112..fc41bfd 100644 (file)
@@ -232,7 +232,7 @@ static int parse_number (char *, int, int, YYSTYPE *);
 %left '+' '-'
 %left '*' '/' '%'
 %right UNARY INCREMENT DECREMENT
-%right ARROW '.' '[' '('
+%right ARROW ARROW_STAR '.' DOT_STAR '[' '('
 %token <ssym> BLOCKNAME 
 %token <bval> FILENAME
 %type <bval> block
@@ -333,7 +333,7 @@ exp :       exp ARROW qualified_name
                          write_exp_elt_opcode (STRUCTOP_MPTR); }
        ;
 
-exp    :       exp ARROW '*' exp
+exp    :       exp ARROW_STAR exp
                        { write_exp_elt_opcode (STRUCTOP_MPTR); }
        ;
 
@@ -368,7 +368,7 @@ exp :       exp '.' qualified_name
                          write_exp_elt_opcode (STRUCTOP_MEMBER); }
        ;
 
-exp    :       exp '.' '*' exp
+exp    :       exp DOT_STAR exp
                        { write_exp_elt_opcode (STRUCTOP_MEMBER); }
        ;
 
@@ -1664,7 +1664,8 @@ struct token
 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[] =
@@ -1688,7 +1689,8 @@ 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.  */