]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/f/symbol.def
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / f / symbol.def
diff --git a/gcc/f/symbol.def b/gcc/f/symbol.def
deleted file mode 100644 (file)
index 9cddcb6..0000000
+++ /dev/null
@@ -1,654 +0,0 @@
-/* Definitions and documentations for attributes used in GNU F77 compiler
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-   Contributed by James Craig Burley.
-
-This file is part of GNU Fortran.
-
-GNU Fortran is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Fortran is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Fortran; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.  */
-
-/* "How g77 learns about symbols"
-
-   There are three primary things in a symbol that g77 uses to keep
-   track of what it has learned about that symbol:
-
-   1.  The state
-   2.  The attributes
-   3.  The info
-
-   State, attributes, and info (see f-info* files) all start out with
-   "NONE" fields when a symbol is first created.
-
-   In a PROGRAM or BLOCK DATA program unit, info where cannot be DUMMY
-   or RESULT.  Any combinations including those possibilities are not
-   considered possible in such program units.
-
-   As soon as a symbol is created, it _must_ have its state changed to
-   SEEN, UNCERTAIN, or UNDERSTOOD.
-
-   If SEEN, some info might be set, such as the type info (as in when
-   the TYPE attribute is present) or kind/where info.
-
-   If UNCERTAIN, the permitted combinations of attributes and info are
-   listed below.  Only the attributes ACTUALARG, ADJUSTABLE, ANYLEN, ARRAY,
-   DUMMY, EXTERNAL, SFARG, and TYPE are permitted.  (All these attributes
-   are contrasted to each attribute below, even though some combinations
-   wouldn't be permitted in SEEN state either.)  Note that DUMMY and
-   RESULT are not permitted in a PROGRAM/BLOCKDATA program unit, which
-   results in some of the combinations below not occurring (not UNCERTAIN,
-   but UNDERSTOOD).
-
-   ANYLEN|TYPE & ~(ACTUALARG|ADJUSTABLE|ARRAY|DUMMY|EXTERNAL|SFARG):
-       ENTITY/DUMMY, ENTITY/RESULT, FUNCTION/INTRINSIC.
-
-   ARRAY & ~(ACTUALARG|ANYLEN|DUMMY|EXTERNAL|SFARG|TYPE):
-       ENTITY/DUMMY, ENTITY/LOCAL.
-
-   ARRAY|TYPE & ~(ACTUALARG|ANYLEN|DUMMY|EXTERNAL|SFARG):
-       ENTITY/DUMMY, ENTITY/LOCAL.
-
-   DUMMY & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|EXTERNAL|SFARG|TYPE):
-       ENTITY/DUMMY, FUNCTION/DUMMY, SUBROUTINE/DUMMY.
-
-   DUMMY|TYPE & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|EXTERNAL|SFARG):
-       ENTITY/DUMMY, FUNCTION/DUMMY.
-
-   EXTERNAL & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|DUMMY|SFARG|TYPE):
-       FUNCTION/DUMMY, FUNCTION/GLOBAL, SUBROUTINE/DUMMY,
-       SUBROUTINE/GLOBAL, BLOCKDATA/GLOBAL.
-
-   EXTERNAL|ACTUALARG & ~(ADJUSTABLE|ANYLEN|ARRAY|DUMMY|SFARG|TYPE):
-       FUNCTION/GLOBAL, SUBROUTINE/GLOBAL.
-
-   EXTERNAL|DUMMY & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|SFARG|TYPE):
-       FUNCTION/DUMMY, SUBROUTINE/DUMMY.
-
-   EXTERNAL|TYPE & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|DUMMY|SFARG):
-       FUNCTION/DUMMY, FUNCTION/GLOBAL.
-
-   SFARG & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|DUMMY|EXTERNAL|TYPE):
-       ENTITY/DUMMY, ENTITY/LOCAL.
-
-   SFARG|TYPE & ~(ACTUALARG|ADJUSTABLE|ANYLEN|ARRAY|DUMMY|EXTERNAL):
-       ENTITY/DUMMY, ENTITY/LOCAL.
-
-   TYPE & ~(ACTUALARG|ANYLEN|ARRAY|DUMMY|EXTERNAL|SFARG):
-       ENTITY/DUMMY, ENTITY/LOCAL, ENTITY/RESULT, FUNCTION/DUMMY,
-       FUNCTION/GLOBAL, FUNCTION/INTRINSIC.
-
-   If UNDERSTOOD, the attributes are no longer considered, and the info
-   field is considered to be as fully filled in as possible by analyzing
-   a single program unit.
-
-   Each of the attributes (used only for SEEN/UNCERTAIN states) is
-   defined and described below.  In many cases, a symbol starts out as
-   SEEN and has attributes set as it is seen in various contexts prior
-   to the first executable statement being seen (the "exec transition").
-   Once that happens, either it becomes immediately UNDERSTOOD and all
-   its info filled in, or it becomes UNCERTAIN and its info only partially
-   filled in until it becomes UNDERSTOOD.  While UNCERTAIN, only a
-   subset of attributes are possible/important.
-
-   Not all symbols reach the UNDERSTOOD state, and in some cases symbols
-   go immediately from NONE to the UNDERSTOOD or even UNCERTAIN state.
-   For example, given "PROGRAM FOO", everything is known about the name
-   "FOO", so it becomes immediately UNDERSTOOD.
-
-   Also, there are multiple name spaces, and not all attributes are
-   possible/permitted in all name spaces.
-
-   The only attributes permitted in the global name space are:
-
-   ANY, CBLOCK, SAVECBLOCK.
-
-   The only attributes permitted in the local name space are:
-
-   ANY, ACTUALARG, ADJUSTABLE, ADJUSTS, ANYLEN, ANYSIZE, ARRAY, COMMON,
-   DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST, RESULT, SAVE, SFARG,
-   SFUNC, TYPE.
-
-   In the stmt-func name space, no attributes are used, just the states.
-
-*/
-
-\f
-/* Actual argument.  Always accompanied by EXTERNAL.
-
-   Context is a name used as an actual argument passed to a procedure
-   other than a statement function.
-
-   Valid in UNCERTAIN state and local name space only.
-
-   This attribute is used only to flag the fact that an EXTERNAL'ed name
-   has been seen as an actual argument, and therefore cannot be
-   discovered later to be a DUMMY argument (via an ENTRY statement).
-
-   If DUMMY + EXTERNAL already, it is permitted to see the name
-   as an actual argument, but ACTUALARG is not added as an attribute since
-   that fact does not improve knowledge about the name.  Hence it is not
-   permitted to transition ACTUALARG + EXTERNAL += DUMMY, and the
-   transition DUMMY + EXTERNAL += ACTUALARG is not actually done.
-
-   Cannot be combined with: ANYLEN, ARRAY, DUMMY, SFARG, TYPE.
-
-   Can be combined with: ACTUALARG, ANY, EXTERNAL.
-
-   Unrelated: ADJUSTABLE, ADJUSTS, ANYSIZE, CBLOCK, COMMON, EQUIV, INIT,
-   INTRINSIC, NAMELIST, RESULT, SAVE, SAVECBLOCK, SFUNC.
-
-*/
-
-DEFATTR (FFESYMBOL_attrACTUALARG, FFESYMBOL_attrsACTUALARG, "ACTUALARG")
-#ifndef FFESYMBOL_attrsACTUALARG
-#define FFESYMBOL_attrsACTUALARG ((ffesymbolAttrs) 1 << FFESYMBOL_attrACTUALARG)
-#endif
-\f
-/* Has adjustable dimension(s).  Always accompanied by ARRAY.
-
-   Context is an ARRAY-attributed name with an adjustable dimension (at
-   least one dimension containing a variable reference).
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ADJUSTS, COMMON, EQUIV, EXTERNAL,
-   NAMELIST, INIT, INTRINSIC, RESULT, SAVE, SFARG, SFUNC.
-
-   Can be combined with: ANY, ANYLEN, ANYSIZE, ARRAY, TYPE.
-
-   Must be combined with: DUMMY.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrADJUSTABLE, FFESYMBOL_attrsADJUSTABLE, "ADJUSTABLE")
-#ifndef FFESYMBOL_attrsADJUSTABLE
-#define FFESYMBOL_attrsADJUSTABLE ((ffesymbolAttrs) 1 << FFESYMBOL_attrADJUSTABLE)
-#endif
-\f
-/* Adjusts an array.
-
-   Context is an expression in an array declarator, such as in a
-   DIMENSION, COMMON, or type-specification statement.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ANYLEN, ANYSIZE, ARRAY,
-   EXTERNAL, INTRINSIC, RESULT, SAVE, SFUNC.
-
-   Can be combined with: ADJUSTS, ANY, COMMON, DUMMY, EQUIV, INIT,
-   NAMELIST, SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrADJUSTS, FFESYMBOL_attrsADJUSTS, "ADJUSTS")
-#ifndef FFESYMBOL_attrsADJUSTS
-#define FFESYMBOL_attrsADJUSTS ((ffesymbolAttrs) 1 << FFESYMBOL_attrADJUSTS)
-#endif
-\f
-/* Can be anything now, diagnostic has been issued at least once.
-
-   Valid in UNDERSTOOD state only.  Valid in any name space.
-
-   Can be combined with anything.
-
-*/
-
-DEFATTR (FFESYMBOL_attrANY, FFESYMBOL_attrsANY, "ANY")
-#ifndef FFESYMBOL_attrsANY
-#define FFESYMBOL_attrsANY ((ffesymbolAttrs) 1 << FFESYMBOL_attrANY)
-#endif
-\f
-/* Assumed (any) length.  Always accompanied by TYPE.
-
-   Context is a name listed in a CHARACTER statement and given a length
-   specification of (*).
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with ANYLEN,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Any other subsequent mentioning
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ACTUALARG=, ADJUSTS+, ANYLEN, COMMON+, EQUIV+,
-   EXTERNAL, INIT+, INTRINSIC+, NAMELIST+, SAVE+, SFARG, SFUNC+.
-
-   Can be combined with: ADJUSTABLE+, ANY, ANYSIZE+, ARRAY-, DUMMY!, RESULT+,
-   TYPE.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-   In PROGRAM/BLOCKDATA, cannot be combined with ARRAY.
-
-*/
-
-DEFATTR (FFESYMBOL_attrANYLEN, FFESYMBOL_attrsANYLEN, "ANYLEN")
-#ifndef FFESYMBOL_attrsANYLEN
-#define FFESYMBOL_attrsANYLEN ((ffesymbolAttrs) 1 << FFESYMBOL_attrANYLEN)
-#endif
-\f
-/* Has assumed (any) size.  Always accompanied by ARRAY.
-
-   Context is an ARRAY-attributed name with its last dimension having
-   an upper bound of "*".
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTS, ANYSIZE, COMMON, EQUIV, EXTERNAL,
-   NAMELIST, INIT, INTRINSIC, RESULT, SAVE, SFARG, SFUNC.
-
-   Can be combined with: ADJUSTABLE, ANY, ANYLEN, ARRAY, TYPE.
-
-   Must be combined with: DUMMY.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrANYSIZE, FFESYMBOL_attrsANYSIZE, "ANYSIZE")
-#ifndef FFESYMBOL_attrsANYSIZE
-#define FFESYMBOL_attrsANYSIZE ((ffesymbolAttrs) 1 << FFESYMBOL_attrANYSIZE)
-#endif
-\f
-/* Array.
-
-   Context is a name followed by an array declarator, such as in a
-   type-statement-decl, a DIMENSION statement, or a COMMON statement.
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with ARRAY,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Any other subsequent mentioning
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ACTUALARG=, ADJUSTS+, ARRAY, EXTERNAL,
-   INTRINSIC+, RESULT+, SFARG, SFUNC+.
-
-   Can be combined with: ADJUSTABLE+, ANY, ANYLEN-, ANYSIZE+, COMMON+,
-   DUMMY!, EQUIV+, INIT+, NAMELIST+, SAVE+, TYPE.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-   In PROGRAM/BLOCKDATA, cannot be combined with ANYLEN.
-   Cannot follow INIT.
-
-*/
-
-DEFATTR (FFESYMBOL_attrARRAY, FFESYMBOL_attrsARRAY, "ARRAY")
-#ifndef FFESYMBOL_attrsARRAY
-#define FFESYMBOL_attrsARRAY ((ffesymbolAttrs) 1 << FFESYMBOL_attrARRAY)
-#endif
-\f
-/* COMMON block.
-
-   Context is a name enclosed in slashes in a COMMON statement.
-
-   Valid in SEEN state and global name space only.
-
-   Cannot be combined with:
-
-   Can be combined with: CBLOCK, SAVECBLOCK.
-
-   Unrelated: ACTUALARG, ADJUSTABLE, ADJUSTS, ANY, ANYLEN, ANYSIZE,
-   ARRAY, COMMON, DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST,
-   RESULT, SAVE, SFARG, SFUNC, TYPE.
-
-*/
-
-DEFATTR (FFESYMBOL_attrCBLOCK, FFESYMBOL_attrsCBLOCK, "CBLOCK")
-#ifndef FFESYMBOL_attrsCBLOCK
-#define FFESYMBOL_attrsCBLOCK ((ffesymbolAttrs) 1 << FFESYMBOL_attrCBLOCK)
-#endif
-\f
-/* Placed in COMMON.
-
-   Context is a name listed in a COMMON statement but not enclosed in
-   slashes.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ANYLEN, ANYSIZE, COMMON, DUMMY,
-   EXTERNAL, INTRINSIC, RESULT, SAVE, SFUNC.
-
-   Can be combined with: ADJUSTS, ANY, ARRAY, EQUIV, INIT, NAMELIST,
-   SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrCOMMON, FFESYMBOL_attrsCOMMON, "COMMON")
-#ifndef FFESYMBOL_attrsCOMMON
-#define FFESYMBOL_attrsCOMMON ((ffesymbolAttrs) 1 << FFESYMBOL_attrCOMMON)
-#endif
-\f
-/* Dummy argument.
-
-   Context is a name listed in the arglist of FUNCTION, SUBROUTINE, ENTRY.
-   (Statement-function definitions have dummy arguments, but since they're
-   the only possible entities in the statement-function name space, this
-   attribution mechanism isn't used for them.)
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with DUMMY,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Any other subsequent mentioning
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ACTUALARG=, COMMON+, EQUIV+, INIT+, INTRINSIC+,
-   NAMELIST+, RESULT+, SAVE+, SFUNC+.
-
-   Can be combined with: ADJUSTABLE+, ADJUSTS+, ANY, ANYLEN-, ANYSIZE+,
-   ARRAY-, DUMMY, EXTERNAL, SFARG-, TYPE.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-   VXT Fortran disallows DUMMY + NAMELIST.
-   F90 allows DUMMY + NAMELIST (with some restrictions), g77 doesn't yet.
-
-*/
-
-DEFATTR (FFESYMBOL_attrDUMMY, FFESYMBOL_attrsDUMMY, "DUMMY")
-#ifndef FFESYMBOL_attrsDUMMY
-#define FFESYMBOL_attrsDUMMY ((ffesymbolAttrs) 1 << FFESYMBOL_attrDUMMY)
-#endif
-\f
-/* EQUIVALENCE'd.
-
-   Context is a name given in an EQUIVALENCE statement.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ANYLEN, ANYSIZE, DUMMY,
-   EXTERNAL, INTRINSIC, RESULT, SFUNC.
-
-   Can be combined with: ADJUSTS, ANY, ARRAY, COMMON, EQUIV, INIT,
-   NAMELIST, SAVE, SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrEQUIV, FFESYMBOL_attrsEQUIV, "EQUIV")
-#ifndef FFESYMBOL_attrsEQUIV
-#define FFESYMBOL_attrsEQUIV ((ffesymbolAttrs) 1 << FFESYMBOL_attrEQUIV)
-#endif
-\f
-/* EXTERNAL.
-
-   Context is a name listed in an EXTERNAL statement.
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with EXTERNAL,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Many other subsequent mentionings
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ADJUSTABLE+, ADJUSTS+, ANYLEN, ANYSIZE+,
-   ARRAY, COMMON+, EQUIV+, EXTERNAL, INIT+, INTRINSIC+, NAMELIST+, RESULT+,
-   SAVE+, SFARG, SFUNC+.
-
-   Can be combined with: ACTUALARG=, ANY, DUMMY, TYPE.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrEXTERNAL, FFESYMBOL_attrsEXTERNAL, "EXTERNAL")
-#ifndef FFESYMBOL_attrsEXTERNAL
-#define FFESYMBOL_attrsEXTERNAL ((ffesymbolAttrs) 1 << FFESYMBOL_attrEXTERNAL)
-#endif
-\f
-/* Given an initial value.
-
-   Context is a name listed in a type-def-stmt such as INTEGER or REAL
-   and given an initial value or values.  Someday will also include
-   names in DATA statements, which currently immediately exec-transition
-   their targets.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ANYLEN, ANYSIZE, DUMMY, EXTERNAL,
-   INIT, INTRINSIC, RESULT, SFUNC.
-
-   Can be combined with: ADJUSTS, ANY, ARRAY, COMMON, EQUIV, NAMELIST,
-   SAVE, SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-   Cannot be followed by ARRAY.
-
-*/
-
-DEFATTR (FFESYMBOL_attrINIT, FFESYMBOL_attrsINIT, "INIT")
-#ifndef FFESYMBOL_attrsINIT
-#define FFESYMBOL_attrsINIT ((ffesymbolAttrs) 1 << FFESYMBOL_attrINIT)
-#endif
-\f
-/* INTRINSIC.
-
-   Context is a name listed in an INTRINSIC statement.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ADJUSTS, ANYLEN, ANYSIZE, ARRAY,
-   COMMON, DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST, RESULT,
-   SAVE, SFARG, SFUNC.
-
-   Can be combined with: ANY, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrINTRINSIC, FFESYMBOL_attrsINTRINSIC, "INTRINSIC")
-#ifndef FFESYMBOL_attrsINTRINSIC
-#define FFESYMBOL_attrsINTRINSIC ((ffesymbolAttrs) 1 << FFESYMBOL_attrINTRINSIC)
-#endif
-\f
-/* NAMELISTed.
-
-   Context is a name listed in a NAMELIST statement but not enclosed in
-   slashes.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ANYLEN, ANYSIZE, DUMMY, EXTERNAL,
-   INTRINSIC, RESULT, SFUNC.
-
-   Can be combined with: ADJUSTS, ANY, ARRAY, COMMON, EQUIV, INIT,
-   NAMELIST, SAVE, SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrNAMELIST, FFESYMBOL_attrsNAMELIST, "NAMELIST")
-#ifndef FFESYMBOL_attrsNAMELIST
-#define FFESYMBOL_attrsNAMELIST ((ffesymbolAttrs) 1 << FFESYMBOL_attrNAMELIST)
-#endif
-\f
-/* RESULT of a function.
-
-   Context is name in RESULT() clause in FUNCTION or ENTRY statement, or
-   the name in a FUNCTION or ENTRY statement (within a FUNCTION subprogram)
-   that has no RESULT() clause.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ADJUSTS, ANYSIZE, ARRAY, COMMON,
-   DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST, RESULT, SAVE, SFUNC.
-
-   Can be combined with: ANY, ANYLEN, SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-   Cannot be preceded by SFARG.
-
-*/
-
-DEFATTR (FFESYMBOL_attrRESULT, FFESYMBOL_attrsRESULT, "RESULT")
-#ifndef FFESYMBOL_attrsRESULT
-#define FFESYMBOL_attrsRESULT ((ffesymbolAttrs) 1 << FFESYMBOL_attrRESULT)
-#endif
-\f
-/* SAVEd (not enclosed in slashes).
-
-   Context is a name listed in a SAVE statement but not enclosed in slashes.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADUSTABLE, ADJUSTS, ANYLEN, ANYSIZE, COMMON,
-   DUMMY, EXTERNAL, INTRINSIC, RESULT, SAVE, SFUNC.
-
-   Can be combined with: ANY, ARRAY, EQUIV, INIT, NAMELIST,
-   SFARG, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrSAVE, FFESYMBOL_attrsSAVE, "SAVE")
-#ifndef FFESYMBOL_attrsSAVE
-#define FFESYMBOL_attrsSAVE ((ffesymbolAttrs) 1 << FFESYMBOL_attrSAVE)
-#endif
-\f
-/* SAVEd (enclosed in slashes).
-
-   Context is a name enclosed in slashes in a SAVE statement.
-
-   Valid in SEEN state and global name space only.
-
-   Cannot be combined with: SAVECBLOCK.
-
-   Can be combined with: CBLOCK.
-
-   Unrelated: ACTUALARG, ADJUSTABLE, ADJUSTS, ANY, ANYLEN, ANYSIZE,
-   ARRAY, COMMON, DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST,
-   RESULT, SAVE, SFARG, SFUNC, TYPE.
-
-*/
-
-DEFATTR (FFESYMBOL_attrSAVECBLOCK, FFESYMBOL_attrsSAVECBLOCK, "SAVECBLOCK")
-#ifndef FFESYMBOL_attrsSAVECBLOCK
-#define FFESYMBOL_attrsSAVECBLOCK ((ffesymbolAttrs) 1 << FFESYMBOL_attrSAVECBLOCK)
-#endif
-\f
-/* Name used as a statement function arg or DATA implied-DO iterator.
-
-   Context is a name listed in the arglist of statement-function-definition
-   or as the iterator in an implied-DO construct in a DATA statement.
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with SFARG,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Any other subsequent mentioning
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ACTUALARG=, ADJUSTABLE+, ANYLEN, ANYSIZE+,
-   ARRAY, EXTERNAL, INTRINSIC+, SFUNC+.
-
-   Can be combined with: ADJUSTS+, ANY, COMMON+, DUMMY!, EQUIV+, INIT+,
-   NAMELIST+, RESULT+, SAVE+, SFARG, TYPE.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-   Cannot be followed by RESULT.
-
-*/
-
-DEFATTR (FFESYMBOL_attrSFARG, FFESYMBOL_attrsSFARG, "SFARG")
-#ifndef FFESYMBOL_attrsSFARG
-#define FFESYMBOL_attrsSFARG ((ffesymbolAttrs) 1 << FFESYMBOL_attrSFARG)
-#endif
-\f
-/* Statement function name.
-
-   Context is a statement-function-definition statement, the name being
-   defined.
-
-   Valid in SEEN state and local name space only.
-
-   Cannot be combined with: ADJUSTABLE, ADJUSTS, ANYLEN, ANYSIZE, ARRAY,
-   COMMON, DUMMY, EQUIV, EXTERNAL, INIT, INTRINSIC, NAMELIST, RESULT,
-   SAVE, SFARG, SFUNC.
-
-   Can be combined with: ANY, TYPE.
-
-   Unrelated: ACTUALARG, CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrSFUNC, FFESYMBOL_attrsSFUNC, "SFUNC")
-#ifndef FFESYMBOL_attrsSFUNC
-#define FFESYMBOL_attrsSFUNC ((ffesymbolAttrs) 1 << FFESYMBOL_attrSFUNC)
-#endif
-\f
-/* Explicitly typed.
-
-   Context is a name listed in a type-def-stmt such as INTEGER or REAL.
-
-   Valid in SEEN and UNCERTAIN states.  Valid in local name space only.
-
-   In SEEN state, attributes marked below with "=" are unrelated.
-
-   In UNCERTAIN state, attributes marked below with "+" are unrelated,
-   attributes marked below with "-" cannot be combined with TYPE,
-   and attributes marked below with "!" transition to state UNDERSTOOD
-   instead of acquiring the new attribute.  Many other subsequent mentionings
-   of the name transitions to state UNDERSTOOD.  UNCERTAIN state is not
-   valid for this attribute in PROGRAM/BLOCKDATA program unit.
-
-   Cannot be combined with: ACTUALARG=, TYPE.
-
-   Can be combined with: ADJUSTABLE+, ADJUSTS+, ANY, ANYLEN, ANYSIZE+,
-   ARRAY, COMMON+, DUMMY, EQUIV+, EXTERNAL, INIT+, INTRINSIC+, NAMELIST+,
-   RESULT+, SAVE+, SFARG, SFUNC+.
-
-   Unrelated: CBLOCK, SAVECBLOCK.
-
-*/
-
-DEFATTR (FFESYMBOL_attrTYPE, FFESYMBOL_attrsTYPE, "TYPE")
-#ifndef FFESYMBOL_attrsTYPE
-#define FFESYMBOL_attrsTYPE ((ffesymbolAttrs) 1 << FFESYMBOL_attrTYPE)
-#endif