* expression.h (enum exp_opcode): Add a new operator for F90

subrange.
        * f-lang.h (enum f90_range_type): New enumeration type to identify
        F90 subrange type.
        * f-exp.y (yyparse): Add support for parsing F90 subrange and
        change substring parsing to subrange parsing.
        * parse.c (operator_length_standard): Set the operator length
        and args number for OP_F90_RANGE.
        * eval.c (evaluate_subexp_standard): Add code to evaluate F90
        array section and substring.
        (value_f90_subarray): New function to evaluate F90 array section.
        (evaluate_subexp_standard): Delete label op_f77_substr and its code
        because the logic is implemented by function value_f90_subarray now.
This commit is contained in:
Wu Zhou
2005-09-20 06:25:34 +00:00
parent 096f7d00c1
commit 0b4e13251c
6 changed files with 116 additions and 29 deletions

View File

@ -1,6 +1,6 @@
/* Definitions for expressions stored in reversed prefix form, for GDB.
Copyright 1986, 1989, 1992, 1994, 2000, 2003 Free Software
Copyright 1986, 1989, 1992, 1994, 2000, 2003, 2005 Free Software
Foundation, Inc.
This file is part of GDB.
@ -324,6 +324,9 @@ enum exp_opcode
/* An Objective C Foundation Class NSString constant */
OP_OBJC_NSSTRING,
/* A F90 array range operator. (for "exp:exp", "exp:", ":exp" and ":") */
OP_F90_RANGE,
/* First extension operator. Individual language modules define
extra operators they need as constants with values
OP_LANGUAGE_SPECIFIC0 + k, for k >= 0, using a separate