Annotation of GNUtools/cc/cp-decl.h, revision 1.1

1.1     ! root        1: /* Variables and structures for declaration processing.
        !             2:    Copyright (C) 1993 Free Software Foundation, Inc.
        !             3: 
        !             4: This file is part of GNU CC.
        !             5: 
        !             6: GNU CC is free software; you can redistribute it and/or modify
        !             7: it under the terms of the GNU General Public License as published by
        !             8: the Free Software Foundation; either version 2, or (at your option)
        !             9: any later version.
        !            10: 
        !            11: GNU CC is distributed in the hope that it will be useful,
        !            12: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            14: GNU General Public License for more details.
        !            15: 
        !            16: You should have received a copy of the GNU General Public License
        !            17: along with GNU CC; see the file COPYING.  If not, write to
        !            18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            19: 
        !            20: /* In grokdeclarator, distinguish syntactic contexts of declarators.  */
        !            21: enum decl_context
        !            22: { NORMAL,                      /* Ordinary declaration */
        !            23:   FUNCDEF,                     /* Function definition */
        !            24:   PARM,                                /* Declaration of parm before function body */
        !            25:   FIELD,                       /* Declaration inside struct or union */
        !            26:   BITFIELD,                    /* Likewise but with specified width */
        !            27:   TYPENAME,                    /* Typename (inside cast or sizeof)  */
        !            28:   MEMFUNCDEF                   /* Member function definition */
        !            29: };
        !            30: 
        !            31: /* C++: Keep these around to reduce calls to `get_identifier'.
        !            32:    Identifiers for `this' in member functions and the auto-delete
        !            33:    parameter for destructors.  */
        !            34: extern tree this_identifier, in_charge_identifier;
        !            35: 
        !            36: /* Parsing a function declarator leaves a list of parameter names
        !            37:    or a chain or parameter decls here.  */
        !            38: extern tree last_function_parms;
        !            39: 
        !            40: /* A list of static class variables.  This is needed, because a
        !            41:    static class variable can be declared inside the class without
        !            42:    an initializer, and then initialized, staticly, outside the class.  */
        !            43: extern tree pending_statics;
        !            44: 
        !            45: /* A list of objects which have constructors or destructors
        !            46:    which reside in the global scope.  The decl is stored in
        !            47:    the TREE_VALUE slot and the initializer is stored
        !            48:    in the TREE_PURPOSE slot.  */
        !            49: extern tree static_aggregates;
        !            50: 
        !            51: /* A list of functions which were declared inline, but later had their
        !            52:    address taken.  Used only for non-virtual member functions, since we can
        !            53:    find other functions easily enough.  */
        !            54: extern tree pending_addressable_inlines;
        !            55: 
        !            56: #ifdef DEBUG_CP_BINDING_LEVELS
        !            57: /* Purely for debugging purposes.  */
        !            58: extern int debug_bindings_indentation;
        !            59: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.