diff options
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 39 |
1 files changed, 16 insertions, 23 deletions
@@ -1,6 +1,6 @@ /* Front-end tree definitions for GNU compiler. Copyright (C) 1989, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002 Free Software Foundation, Inc. + 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -192,15 +192,11 @@ struct tree_common GTY(()) INTEGER_CST, REAL_CST, COMPLEX_CST, VECTOR_CST TREE_PUBLIC in VAR_DECL or FUNCTION_DECL or IDENTIFIER_NODE - TREE_VIA_PUBLIC in - TREE_LIST or TREE_VEC EXPR_WFL_EMIT_LINE_NOTE in EXPR_WITH_FILE_LOCATION private_flag: - TREE_VIA_PRIVATE in - TREE_LIST or TREE_VEC TREE_PRIVATE in ..._DECL CALL_EXPR_HAS_RETURN_SLOT_ADDR in @@ -208,9 +204,6 @@ struct tree_common GTY(()) protected_flag: - TREE_VIA_PROTECTED in - TREE_LIST - TREE_VEC TREE_PROTECTED in BLOCK ..._DECL @@ -565,20 +558,6 @@ extern void tree_vec_elt_check_failed PARAMS ((int, int, const char *, for this name in an inner scope. */ #define TREE_PUBLIC(NODE) ((NODE)->common.public_flag) -/* Nonzero for TREE_LIST or TREE_VEC node means that the path to the - base class is via a `public' declaration, which preserves public - fields from the base class as public. */ -#define TREE_VIA_PUBLIC(NODE) ((NODE)->common.public_flag) - -/* Ditto, for `private' declarations. */ -#define TREE_VIA_PRIVATE(NODE) ((NODE)->common.private_flag) - -/* Nonzero for TREE_LIST or TREE_VEC node means that the path to the - base class is via a `protected' declaration, which preserves - protected fields from the base class as protected. - OVERLOADED. */ -#define TREE_VIA_PROTECTED(NODE) ((NODE)->common.protected_flag) - /* In any expression, nonzero means it has side effects or reevaluation of the whole expression could produce a different value. This is set if any subexpression is a function call, a side effect @@ -1362,7 +1341,16 @@ struct tree_type GTY(()) vtable where the offset to the virtual base can be found. */ #define BINFO_VPTR_FIELD(NODE) TREE_VEC_ELT (NODE, 5) -#define BINFO_ELTS 6 +/* Indicates the accesses this binfo has to its bases. The values are + access_public_node, access_protected_node or access_private_node. + If this array is not present, public access is implied. */ +#define BINFO_BASEACCESSES(NODE) TREE_VEC_ELT ((NODE), 6) +#define BINFO_BASEACCESS(NODE,N) TREE_VEC_ELT (BINFO_BASEACCESSES(NODE), (N)) + +/* Number of language independent elements in a binfo. Languages may + add additional trailing elements. */ + +#define BINFO_ELTS 7 /* Slot used to build a chain that represents a use of inheritance. For example, if X is derived from Y, and Y is derived from Z, @@ -2028,6 +2016,11 @@ extern GTY(()) tree global_trees[TI_MAX]; #define bitsize_one_node global_trees[TI_BITSIZE_ONE] #define bitsize_unit_node global_trees[TI_BITSIZE_UNIT] +/* Base access nodes. */ +#define access_public_node NULL_TREE +#define access_protected_node size_zero_node +#define access_private_node size_one_node + #define null_pointer_node global_trees[TI_NULL_POINTER] #define float_type_node global_trees[TI_FLOAT_TYPE] |