diff options
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r-- | gcc/cp/cp-tree.h | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index c439864c1b1..5ff38b72575 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1530,6 +1530,21 @@ struct lang_decl GTY(()) { struct full_lang_decl { + /* In an overloaded operator, this is the value of + DECL_OVERLOADED_OPERATOR_P. */ + ENUM_BITFIELD (tree_code) operator_code : 8; + + unsigned u3sel : 1; + unsigned pending_inline_p : 1; + unsigned spare : 3; + + /* In a FUNCTION_DECL for which THUNK_P holds this is the + THUNK_FIXED_OFFSET. The largest object that can be + thunked is thus 262144, which is what is required [limits]. + We have to store a signed value as for regular thunks this + is <= 0, and for covariant thunks it is >= 0. */ + signed fixed_offset : 19; + /* For a non-thunk function decl, this is a tree list of friendly classes. For a thunk function decl, it is the thunked to function decl. */ @@ -1546,17 +1561,6 @@ struct lang_decl GTY(()) /* In a FUNCTION_DECL, this is DECL_CLONED_FUNCTION. */ tree cloned_function; - /* In a FUNCTION_DECL for which THUNK_P holds, this is - THUNK_FIXED_OFFSET. */ - HOST_WIDE_INT fixed_offset; - - /* In an overloaded operator, this is the value of - DECL_OVERLOADED_OPERATOR_P. */ - enum tree_code operator_code; - - unsigned u3sel : 1; - unsigned pending_inline_p : 1; - union lang_decl_u3 { struct sorted_fields_type * GTY ((tag ("0"), reorder ("resort_sorted_fields"))) @@ -3981,7 +3985,6 @@ extern bool emit_tinfo_decl (tree); /* in search.c */ extern bool accessible_base_p (tree, tree); extern tree lookup_base (tree, tree, base_access, base_kind *); -extern int types_overlap_p (tree, tree); extern tree get_dynamic_cast_base_type (tree, tree); extern int accessible_p (tree, tree); extern tree lookup_field_1 (tree, tree, bool); @@ -4024,6 +4027,7 @@ extern tree adjust_result_of_qualified_name_lookup (tree, tree, tree); extern tree copied_binfo (tree, tree); extern tree original_binfo (tree, tree); +extern int shared_member_p (tree); /* in semantics.c */ extern void push_deferring_access_checks (deferring_kind); @@ -4207,6 +4211,7 @@ extern tree cp_add_pending_fn_decls (void*,tree); extern int cp_is_overload_p (tree); extern int cp_auto_var_in_fn_p (tree,tree); extern void cp_update_decl_after_saving (tree, void *); +extern tree fold_if_not_in_template (tree); /* in typeck.c */ extern int string_conv_p (tree, tree, int); |