Remove parser_state "initial_size" parameter
[deliverable/binutils-gdb.git] / gdb / f-exp.y
index d256ff14c1e8a590909bf4041831d6997b807bc5..f99c26d326e47dc97777445c0992b1de8c59f2df 100644 (file)
@@ -105,7 +105,6 @@ static struct type *convert_to_kind_type (struct type *basetype, int kind);
     struct ttype tsym;
     struct symtoken ssym;
     int voidval;
-    struct block *bval;
     enum exp_opcode opcode;
     struct internalvar *ivar;
 
@@ -168,6 +167,7 @@ static int parse_number (struct parser_state *, const char *, int,
 %token <voidval> DOLLAR_VARIABLE
 
 %token <opcode> ASSIGN_MODIFY
+%token <opcode> UNOP_INTRINSIC
 
 %left ','
 %left ABOVE_COMMA
@@ -252,6 +252,10 @@ exp        :       exp '('
                                              OP_F77_UNDETERMINED_ARGLIST); }
        ;
 
+exp    :       UNOP_INTRINSIC '(' exp ')'
+                       { write_exp_elt_opcode (pstate, $1); }
+       ;
+
 arglist        :
        ;
 
@@ -565,6 +569,8 @@ direct_abs_decl: '(' abs_decl ')'
                        { $$ = $2; }
        |       '(' KIND '=' INT ')'
                        { push_kind_type ($4.val, $4.type); }
+       |       '*' INT
+                       { push_kind_type ($2.val, $2.type); }
        |       direct_abs_decl func_mod
                        { push_type (tp_function); }
        |       func_mod
@@ -945,7 +951,8 @@ static const struct token f77_keywords[] =
   { "real", REAL_KEYWORD, BINOP_END, true },
   /* The following correspond to actual functions in Fortran and are case
      insensitive.  */
-  { "kind", KIND, BINOP_END, false }
+  { "kind", KIND, BINOP_END, false },
+  { "abs", UNOP_INTRINSIC, UNOP_ABS, false }
 };
 
 /* Implementation of a dynamically expandable buffer for processing input
This page took 0.023915 seconds and 4 git commands to generate.