From cfdd0551843a8a88336c36f585d692db537c6c32 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Fri, 22 May 1998 12:22:54 +0000 Subject: [PATCH] cp-tree.h: Add comments documenting which LANG_FLAGS are used. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit � * cp-tree.h: Add comments documenting which LANG_FLAGS are used. (C_TYPE_VARIABLE_SIZE, C_DECL_VARIABLE_SIZE): Removed, not used. From-SVN: r19960 --- gcc/cp/ChangeLog | 5 ++++ gcc/cp/cp-tree.h | 61 ++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 59 insertions(+), 7 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 128a93229e9..0c5ddc1c517 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +1998-05-22 Per Bothner + + * cp-tree.h: Add comments documenting which LANG_FLAGS are used. + (C_TYPE_VARIABLE_SIZE, C_DECL_VARIABLE_SIZE): Removed, not used. + 1998-05-22 Jason Merrill * pt.c (print_template_context): Use fprintf instead of cp_error. diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 38b277c0bdf..3cde1028f53 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -24,6 +24,58 @@ Boston, MA 02111-1307, USA. */ #include "gansidecl.h" +/* Usage of TREE_LANG_FLAG_?: + 0: TREE_NONLOCAL_FLAG (in TREE_LIST or _TYPE). + BINFO_MARKED (BINFO nodes). + TI_USES_TEMPLATE_PARMS. + COMPOUND_STMT_NO_SCOPE (in COMPOUND_STMT). + NEW_EXPR_USE_GLOBAL (in NEW_EXPR). + DELETE_EXPR_USE_GLOBAL (in DELETE_EXPR). + LOOKUP_EXPR_GLOBAL (in LOOKUP_EXPR). + TREE_NEGATED_INT (in INTEGER_CST). + (TREE_MANGLED) (in IDENTIFIER_NODE) (commented-out). + 1: IDENTIFIER_VIRTUAL_P. + TI_PENDING_TEMPLATE_FLAG. + TI_PENDING_SPECIALIZATION_FLAG. + TEMPLATE_PARMS_FOR_INLINE. + DELETE_EXPR_USE_VEC (in DELETE_EXPR). + (TREE_CALLS_NEW) (in _EXPR or _REF) (commented-out). + TYPE_USES_COMPLEX_INHERITANCE (in _TYPE). + C_DECLARED_LABEL_FLAG. + 2: IDENTIFIER_OPNAME_P. + BINFO_FIELDS_MARKED. + TYPE_VIRTUAL_P. + PARM_DECL_EXPR (in SAVE_EXPR). + 3: TYPE_USES_VIRTUAL_BASECLASSES (in a class TYPE). + BINFO_VTABLE_PATH_MARKED. + (TREE_REFERENCE_EXPR) (in NON_LVALUE_EXPR) (commented-out). + 4: BINFO_NEW_VTABLE_MARKED. + TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR, + or FIELD_DECL). + 5: BINFO_VIA_PUBLIC. + BINFO_VBASE_INIT_MARKED. + 6: Not used. + + Usage of TYPE_LANG_FLAG_?: + 0: C_TYPE_FIELDS_READONLY (in RECORD_TYPE or UNION_TYPE). + 1: TYPE_HAS_CONSTRUCTOR. + 2: TYPE_HAS_DESTRUCTOR. + 3: Not used. + 4: TYPE_NEEDS_DESTRUCTOR. + 5: IS_AGGR_TYPE. + 6: TYPE_BUILT_IN + + Usage of DECL_LANG_FLAG_?: + 0: DECL_ERROR_REPORTED (in VAR_DECL). + 1: C_TYPEDEF_EXPLICITLY_SIGNED (in TYPE_DECL). + 2: DECL_THIS_EXTERN (in VAR_DECL or FUNCTION_DECL). + 3: DECL_IN_AGGR_P. + 4: DECL_MAYBE_TEMPLATE. + 5: DECL_INTERFACE_KNOWN. + 6: DECL_THIS_STATIC (in VAR_DECL or FUNCTION_DECL). + 7: DECL_DEAD_FOR_LOCAL (in VAR_DECL). +*/ + /* Language-dependent contents of an identifier. */ struct lang_identifier @@ -1196,7 +1248,7 @@ struct lang_decl #define TYPENAME_TYPE_FULLNAME(NODE) CLASSTYPE_SIZE (NODE) -/* Nonzero in INT_CST means that this int is negative by dint of +/* Nonzero in INTEGER_CST means that this int is negative by dint of using a twos-complement negated operand. */ #define TREE_NEGATED_INT(NODE) (TREE_LANG_FLAG_0 (NODE)) @@ -1270,11 +1322,6 @@ extern int flag_new_for_scope; These may be shadowed, and may be referenced from nested functions. */ #define C_DECLARED_LABEL_FLAG(label) TREE_LANG_FLAG_1 (label) -/* Record whether a type or decl was written with nonconstant size. - Note that TYPE_SIZE may have simplified to a constant. */ -#define C_TYPE_VARIABLE_SIZE(type) TREE_LANG_FLAG_4 (type) -#define C_DECL_VARIABLE_SIZE(type) DECL_LANG_FLAG_8 (type) - /* Nonzero for _TYPE means that the _TYPE defines at least one constructor. */ #define TYPE_HAS_CONSTRUCTOR(NODE) (TYPE_LANG_FLAG_1(NODE)) @@ -1312,7 +1359,7 @@ extern int flag_new_for_scope; /* Nonzero for _TYPE node means that creating an object of this type will involve a call to a constructor. This can apply to objects of ARRAY_TYPE if the type of the elements needs a constructor. */ -#define TYPE_NEEDS_CONSTRUCTING(NODE) (TYPE_LANG_FLAG_3(NODE)) +#define TYPE_NEEDS_CONSTRUCTING(NODE) ... defined in ../tree.h ... #endif /* Nonzero means that an object of this type can not be initialized using -- 2.30.2