Lines Matching refs:tree

29 #include "splay-tree.h"
165 /* Language-specific tree checkers. */
181 ({ const tree __t = (NODE); \
188 ({ const tree __t = (NODE); \
206 tree class_template_info;
207 tree label_value;
225 tree decl;
232 tree decl;
244 tree member;
296 /* Nonzero if we are presently building a statement tree, rather
324 tree function;
356 tree binfo;
357 tree functions;
358 tree access_binfo;
447 VEC(tree,gc) *instantiations;
464 /* The resulting tree type. */
544 extern GTY(()) tree cp_global_trees[CPTI_MAX];
575 /* We cache these tree nodes so as to call get_identifier less
646 access nodes in tree.h. */
655 tree old_namespace;
656 tree decl_ns_list;
657 tree class_name;
658 tree class_type;
659 tree access_specifier;
660 tree function_decl;
661 VEC(tree,gc) *lang_base;
662 tree lang_name;
663 tree template_parms;
665 tree x_saved_tree;
730 tree to;
742 tree x_cdtor_label;
743 tree x_current_class_ptr;
744 tree x_current_class_ref;
745 tree x_eh_spec_block;
746 tree x_in_charge_parm;
747 tree x_vtt_parm;
748 tree x_return_value;
761 VEC(tree,gc) *x_local_names;
847 /* C++ language-specific tree codes. */
851 #include "cp-tree.def"
856 /* TRUE if a tree code represents a statement. */
976 tree purpose;
977 tree value;
1076 tree primary_base;
1078 tree vtables;
1079 tree typeinfo_var;
1080 VEC(tree,gc) *vbases;
1082 tree as_base;
1083 VEC(tree,gc) *pure_virtuals;
1084 tree friend_classes;
1085 VEC(tree,gc) * GTY((reorder ("resort_type_method_vec"))) methods;
1086 tree key_method;
1087 tree decl_list;
1088 tree template_info;
1089 tree befriending_classes;
1093 tree objc_info;
1099 tree record;
1136 /* VEC(tree) of friends which were defined inline in this class
1252 (VEC_index (tree, CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_CONSTRUCTOR_SLOT))
1260 ? VEC_index (tree, CLASSTYPE_METHOD_VEC (NODE), CLASSTYPE_DESTRUCTOR_SLOT) \
1314 /* A VEC(tree) of virtual functions which cannot be inherited by
1504 This macro is nonzero for tree nodes whose DECL_LANG_SPECIFIC is
1553 tree GTY ((tag ("0"))) template_info;
1563 tree GTY ((tag ("0"))) access;
1589 /* For a non-thunk function decl, this is a tree list of
1592 tree befriending_classes;
1600 tree context;
1606 tree GTY ((tag ("0"))) cloned_function;
2062 extern tree decl_shadowed_for_var_lookup (tree);
2063 extern void decl_shadowed_for_var_insert (tree, tree);
2422 Note that INTEGRAL_TYPE_P, as defined in tree.h, allows enumeration
2479 /* When appearing in an INDIRECT_REF, it means that the tree structure
2587 in ascending tree code order. */
2592 in ascending tree code order. */
2597 void. Keep these checks in ascending tree code order. */
2827 these checks in ascending tree code order. */
2844 UNBOUND_CLASS_TEMPLATE tree node. */
3035 /* A tree indicating how to perform the virtual adjustment. For a this
3306 extern GTY(()) tree integer_two_node;
3307 extern GTY(()) tree integer_three_node;
3341 extern GTY(()) VEC(tree,gc) *local_classes;
3442 extern GTY(()) tree static_aggregates;
3446 extern GTY(()) tree static_ctors;
3447 extern GTY(()) tree static_dtors;
3593 /* These constants can used as bit flags in the process of tree formatting.
3642 tree identifier;
3651 /* A mapping from tree codes to operator name information. */
3706 tree type;
3708 tree attributes;
3711 tree redefined_builtin_type;
3761 tree default_argument;
3772 tree attributes;
3782 tree qualifying_scope;
3785 tree unqualified_name;
3797 tree exception_specification;
3802 tree bounds;
3809 tree class_type;
3826 extern bool check_dtor_name (tree, tree);
3828 extern tree build_vfield_ref (tree, tree);
3829 extern tree build_conditional_expr (tree, tree, tree);
3830 extern tree build_addr_func (tree);
3831 extern tree build_call (tree, tree);
3832 extern bool null_ptr_cst_p (tree);
3833 extern bool sufficient_parms_p (tree);
3834 extern tree type_decays_to (tree);
3835 extern tree build_user_type_conversion (tree, tree, int);
3836 extern tree build_new_function_call (tree, tree, bool);
3837 extern tree build_operator_new_call (tree, tree, tree *, tree *,
3838 tree *);
3839 extern tree build_new_method_call (tree, tree, tree, tree, int,
3840 tree *);
3841 extern tree build_special_member_call (tree, tree, tree, tree, int);
3842 extern tree build_new_op (enum tree_code, int, tree, tree, tree, bool *);
3843 extern tree build_op_delete_call (enum tree_code, tree, tree, bool, tree, tree);
3844 extern bool can_convert (tree, tree);
3845 extern bool can_convert_arg (tree, tree, tree, int);
3846 extern bool can_convert_arg_bad (tree, tree, tree);
3847 extern bool enforce_access (tree, tree, tree);
3848 extern tree convert_default_arg (tree, tree, tree, int);
3849 extern tree convert_arg_to_ellipsis (tree);
3850 extern tree build_x_va_arg (tree, tree);
3851 extern tree cxx_type_promotes_to (tree);
3852 extern tree type_passed_as (tree);
3853 extern tree convert_for_arg_passing (tree, tree);
3854 extern bool is_properly_derived_from (tree, tree);
3855 extern tree initialize_reference (tree, tree, tree, tree *);
3856 extern tree make_temporary_var_for_ref_to_temp (tree, tree);
3857 extern tree strip_top_quals (tree);
3858 extern tree perform_implicit_conversion (tree, tree);
3859 extern tree perform_direct_initialization_if_possible (tree, tree, bool);
3860 extern tree in_charge_arg_for_name (tree);
3861 extern tree build_cxx_call (tree, tree);
3867 extern tree build_base_path (enum tree_code, tree,
3868 tree, int);
3869 extern tree convert_to_base (tree, tree, bool, bool);
3870 extern tree convert_to_base_statically (tree, tree);
3871 extern tree build_vtbl_ref (tree, tree);
3872 extern tree build_vfn_ref (tree, tree);
3873 extern tree get_vtable_decl (tree, int);
3876 extern bool add_method (tree, tree, tree);
3877 extern bool currently_open_class (tree);
3878 extern tree currently_open_derived_class (tree);
3879 extern tree finish_struct (tree, tree);
3880 extern void finish_struct_1 (tree);
3881 extern int resolves_to_fixed_type_p (tree, int *);
3883 extern int is_empty_class (tree);
3884 extern void pushclass (tree);
3886 extern void push_nested_class (tree);
3889 extern void push_lang_context (tree);
3891 extern tree instantiate_type (tree, tree, tsubst_flags_t);
3894 extern void cxx_print_xnode (FILE *, tree, int);
3895 extern void cxx_print_decl (FILE *, tree, int);
3896 extern void cxx_print_type (FILE *, tree, int);
3897 extern void cxx_print_identifier (FILE *, tree, int);
3901 extern int same_signature_p (tree, tree);
3902 extern void maybe_add_class_template_decl_list (tree, tree, int);
3903 extern void unreverse_member_declarations (tree);
3905 extern void maybe_note_name_used_in_class (tree, tree);
3906 extern void note_name_declared_in_class (tree, tree);
3907 extern tree get_vtbl_decl_for_binfo (tree);
3908 extern void debug_class (tree);
3909 extern void debug_thunks (tree);
3910 extern tree cp_fold_obj_type_ref (tree, tree);
3911 extern void set_linkage_according_to_type (tree, tree);
3912 extern void determine_key_method (tree);
3913 extern void check_for_override (tree, tree);
3918 extern tree convert_to_reference (tree, tree, int, int, tree);
3919 extern tree convert_from_reference (tree);
3920 extern tree force_rvalue (tree);
3921 extern tree ocp_convert (tree, tree, int, int);
3922 extern tree cp_convert (tree, tree);
3923 extern tree convert_to_void (tree, const char */*implicit context*/);
3924 extern tree convert_force (tree, tree, int);
3925 extern tree build_expr_type_conversion (int, tree, bool);
3926 extern tree type_promotes_to (tree);
3927 extern tree perform_qualification_conversions (tree, tree);
3928 extern void clone_function_decl (tree, int);
3929 extern void adjust_clone_args (tree);
3932 extern tree poplevel (int, int, int);
3933 extern void insert_block (tree);
3934 extern tree pushdecl (tree);
3935 extern tree pushdecl_maybe_friend (tree, bool);
3939 extern bool cxx_mark_addressable (tree);
3942 extern void maybe_push_cleanup_level (tree);
3944 extern void push_switch (tree);
3946 extern tree pushtag (tree, tree, tag_scope);
3947 extern tree make_anon_name (void);
3948 extern int decls_match (tree, tree);
3949 extern tree duplicate_decls (tree, tree, bool);
3950 extern tree pushdecl_top_level_maybe_friend (tree, bool);
3951 extern tree pushdecl_top_level_and_finish (tree, tree);
3952 extern tree declare_local_label (tree);
3953 extern tree define_label (location_t, tree);
3954 extern void check_goto (tree);
3956 extern tree make_typename_type (tree, tree, enum tag_types, tsubst_flags_t);
3957 extern tree make_unbound_class_template (tree, tree, tree, tsubst_flags_t);
3958 extern tree check_for_out_of_scope_variable (tree);
3959 extern tree build_library_fn (tree, tree);
3960 extern tree build_library_fn_ptr (const char *, tree);
3961 extern tree build_cp_library_fn_ptr (const char *, tree);
3962 extern tree push_library_fn (tree, tree);
3963 extern tree push_void_library_fn (tree, tree);
3964 extern tree push_throw_library_fn (tree, tree);
3965 extern tree check_tag_decl (cp_decl_specifier_seq *);
3966 extern tree shadow_tag (cp_decl_specifier_seq *);
3967 extern tree groktypename (cp_decl_specifier_seq *, const cp_declarator *);
3969 extern tree grokblockdecl (cp_decl_specifier_seq *, const cp_declarator *);
3970 extern tree start_decl (const cp_declarator *, cp_decl_specifier_seq *, int, tree, tree, tree *);
3971 extern void start_decl_1 (tree, bool);
3972 extern void cp_finish_decl (tree, tree, bool, tree, int);
3973 extern void finish_decl (tree, tree, tree);
3974 extern int cp_complete_array_type (tree *, tree, bool);
3975 extern tree build_ptrmemfunc_type (tree);
3976 extern tree build_ptrmem_type (tree, tree);
3978 extern tree build_this_parm (tree, cp_cv_quals);
3979 extern int copy_fn_p (tree);
3980 extern tree get_scope_of_declarator (const cp_declarator *);
3981 extern void grok_special_member_properties (tree);
3982 extern int grok_ctor_properties (tree, tree);
3983 extern bool grok_op_properties (tree, bool);
3984 extern tree xref_tag (enum tag_types, tree, tag_scope, bool);
3985 extern tree xref_tag_from_type (tree, tree, tag_scope);
3986 extern bool xref_basetypes (tree, tree);
3987 extern tree start_enum (tree);
3988 extern void finish_enum (tree);
3989 extern void build_enumerator (tree, tree, tree);
3990 extern void start_preparsed_function (tree, tree, int);
3991 extern int start_function (cp_decl_specifier_seq *, const cp_declarator *, tree);
3992 extern tree begin_function_body (void);
3993 extern void finish_function_body (tree);
3994 extern tree finish_function (int);
3995 extern tree start_method (cp_decl_specifier_seq *, const cp_declarator *, tree);
3996 extern tree finish_method (tree);
3997 extern void maybe_register_incomplete_var (tree);
3998 extern void complete_vars (tree);
4001 extern void revert_static_member_fn (tree);
4002 extern void fixup_anonymous_aggr (tree);
4003 extern int check_static_variable_definition (tree, tree);
4004 extern tree compute_array_index_type (tree, tree);
4005 extern tree check_default_argument (tree, tree);
4006 typedef int (*walk_namespaces_fn) (tree, void *);
4009 extern int wrapup_globals_for_namespace (tree, void *);
4010 extern tree create_implicit_typedef (tree, tree);
4011 extern tree maybe_push_decl (tree);
4012 extern tree force_target_expr (tree, tree);
4013 extern tree build_target_expr_with_type (tree, tree);
4014 extern int local_variable_p (tree);
4015 extern int nonstatic_local_decl_p (tree);
4016 extern tree register_dtor_fn (tree);
4018 extern tree cp_fname_init (const char *, tree *);
4019 extern tree builtin_function (const char *name, tree type,
4023 tree attrs);
4024 extern tree check_elaborated_type_specifier (enum tag_types, tree, bool);
4025 extern void warn_extern_redeclared_static (tree, tree);
4026 extern const char *cxx_comdat_group (tree);
4027 extern bool cp_missing_noreturn_ok_p (tree);
4028 extern void initialize_artificial_var (tree, tree);
4029 extern tree check_var_type (tree, tree);
4030 extern tree reshape_init (tree, tree);
4033 extern bool check_java_method (tree);
4034 extern tree build_memfn_type (tree, tree, cp_cv_quals);
4035 extern void maybe_retrofit_in_chrg (tree);
4036 extern void maybe_make_one_only (tree);
4037 extern void grokclassfn (tree, tree,
4039 extern tree grok_array_decl (tree, tree);
4040 extern tree delete_sanity (tree, tree, bool, int);
4041 extern tree check_classfn (tree, tree, tree);
4042 extern void check_member_template (tree);
4043 extern tree grokfield (const cp_declarator *, cp_decl_specifier_seq *,
4044 tree, bool, tree, tree);
4045 extern tree grokbitfield (const cp_declarator *, cp_decl_specifier_seq *,
4046 tree);
4047 extern void cplus_decl_attributes (tree *, tree, int);
4048 extern void finish_anon_union (tree);
4050 extern tree coerce_new_type (tree);
4051 extern tree coerce_delete_type (tree);
4052 extern void comdat_linkage (tree);
4053 extern void determine_visibility (tree);
4054 extern void constrain_class_visibility (tree);
4055 extern void update_member_visibility (tree);
4056 extern void import_export_decl (tree);
4057 extern tree build_cleanup (tree);
4058 extern tree build_offset_ref_call_from_tree (tree, tree);
4059 extern void check_default_args (tree);
4060 extern void mark_used (tree);
4061 extern void finish_static_data_member_decl (tree, tree, bool, tree, int);
4062 extern tree cp_build_parm_decl (tree, tree);
4063 extern tree get_guard (tree);
4064 extern tree get_guard_cond (tree);
4065 extern tree set_guard (tree);
4066 extern tree cxx_callgraph_analyze_expr (tree *, int *, tree);
4067 extern void mark_needed (tree);
4068 extern bool decl_needed_p (tree);
4069 extern void note_vague_linkage_fn (tree);
4070 extern tree build_artificial_parm (tree, tree);
4074 extern const char *type_as_string (tree, int);
4075 extern const char *decl_as_string (tree, int);
4076 extern const char *expr_as_string (tree, int);
4077 extern const char *lang_decl_name (tree, int);
4079 extern const char *class_key_or_enum_as_string (tree);
4084 extern tree expand_start_catch_block (tree);
4086 extern tree build_exc_ptr (void);
4087 extern tree build_throw (tree);
4088 extern int nothrow_libfn_p (tree);
4089 extern void check_handlers (tree);
4091 extern tree eh_type_info (tree);
4094 extern rtx cxx_expand_expr (tree, rtx,
4097 extern tree cplus_expand_constant (tree);
4100 extern int is_friend (tree, tree);
4101 extern void make_friend_class (tree, tree, bool);
4102 extern void add_friend (tree, tree, bool);
4103 extern tree do_friend (tree, tree, tree, tree, enum overload_flags, bool);
4106 extern tree expand_member_init (tree);
4107 extern void emit_mem_initializers (tree);
4108 extern tree build_aggr_init (tree, tree, int);
4109 extern int is_aggr_type (tree, int);
4110 extern tree get_type_value (tree);
4111 extern tree build_zero_init (tree, tree, bool);
4112 extern tree build_offset_ref (tree, tree, bool);
4113 extern tree build_new (tree, tree, tree, tree, int);
4114 extern tree build_vec_init (tree, tree, tree, bool, int);
4115 extern tree build_delete (tree, tree,
4119 extern tree build_vec_delete (tree, tree,
4121 extern tree create_temporary_var (tree);
4122 extern void initialize_vtbl_ptrs (tree);
4123 extern tree build_java_class_ref (tree);
4124 extern tree integral_constant_value (tree);
4127 extern void cxx_dup_lang_specific_decl (tree);
4130 extern tree unqualified_name_lookup_error (tree);
4131 extern tree unqualified_fn_lookup_error (tree);
4132 extern tree build_lang_decl (enum tree_code, tree, tree);
4133 extern void retrofit_lang_decl (tree);
4134 extern tree copy_decl (tree);
4135 extern tree copy_type (tree);
4136 extern tree cxx_make_type (enum tree_code);
4137 extern tree make_aggr_type (enum tree_code);
4146 extern tree make_thunk (tree, bool, tree, tree);
4147 extern void finish_thunk (tree);
4148 extern void use_thunk (tree, bool);
4149 extern void synthesize_method (tree);
4150 extern tree lazily_declare_fn (special_function_kind,
4151 tree);
4152 extern tree skip_artificial_parms_for (tree, tree);
4153 extern tree make_alias_for (tree, tree);
4156 extern bool maybe_clone_body (tree);
4159 extern void check_template_shadow (tree);
4160 extern tree get_innermost_template_args (tree, int);
4161 extern void maybe_begin_member_template_processing (tree);
4163 extern tree finish_member_template_decl (tree);
4170 extern tree check_explicit_specialization (tree, tree, int, int);
4171 extern tree process_template_parm (tree, tree, bool);
4172 extern tree end_template_parm_list (tree);
4174 extern tree push_template_decl (tree);
4175 extern tree push_template_decl_real (tree, bool);
4176 extern bool redeclare_class_template (tree, tree);
4177 extern tree lookup_template_class (tree, tree, tree, tree,
4179 extern tree lookup_template_function (tree, tree);
4180 extern int uses_template_parms (tree);
4181 extern int uses_template_parms_level (tree, int);
4182 extern tree instantiate_class_template (tree);
4183 extern tree instantiate_template (tree, tree, tsubst_flags_t);
4184 extern int fn_type_unification (tree, tree, tree, tree,
4185 tree, unification_kind_t, int);
4186 extern void mark_decl_instantiated (tree, int);
4187 extern int more_specialized_fn (tree, tree, int);
4188 extern void do_decl_instantiation (tree, tree);
4189 extern void do_type_instantiation (tree, tree, tsubst_flags_t);
4190 extern tree instantiate_decl (tree, int, bool);
4191 extern int comp_template_parms (tree, tree);
4192 extern int template_class_depth (tree);
4193 extern int is_specialization_of (tree, tree);
4194 extern bool is_specialization_of_friend (tree, tree);
4195 extern int comp_template_args (tree, tree);
4196 extern tree maybe_process_partial_specialization (tree);
4197 extern tree most_specialized_instantiation (tree);
4198 extern void print_candidates (tree);
4200 extern tree tsubst_default_argument (tree, tree, tree);
4201 extern tree tsubst_copy_and_build (tree, tree, tsubst_flags_t,
4202 tree, bool, bool);
4203 extern tree most_general_template (tree);
4204 extern tree get_mostly_instantiated_function_type (tree);
4207 extern tree current_instantiation (void);
4208 extern tree maybe_get_template_decl_from_type_decl (tree);
4210 extern bool dependent_type_p (tree);
4211 extern bool any_dependent_template_arguments_p (tree);
4212 extern bool dependent_template_p (tree);
4213 extern bool dependent_template_id_p (tree, tree);
4214 extern bool type_dependent_expression_p (tree);
4215 extern bool any_type_dependent_arguments_p (tree);
4216 extern bool value_dependent_expression_p (tree);
4217 extern bool any_value_dependent_elements_p (tree);
4218 extern tree resolve_typename_type (tree, bool);
4219 extern tree template_for_substitution (tree);
4220 extern tree build_non_dependent_expr (tree);
4221 extern tree build_non_dependent_args (tree);
4222 extern bool reregister_specialization (tree, tree, tree);
4223 extern tree fold_non_dependent_expr (tree);
4224 extern bool explicit_class_specialization_p (tree);
4225 extern tree outermost_tinst_level (void);
4229 extern int repo_emit_p (tree);
4230 extern bool repo_export_class_p (tree);
4235 extern GTY(()) VEC(tree,gc) *unemitted_tinfo_decls;
4238 extern tree build_typeid (tree);
4239 extern tree get_tinfo_decl (tree);
4240 extern tree get_typeid (tree);
4241 extern tree build_dynamic_cast (tree, tree);
4243 extern bool emit_tinfo_decl (tree);
4246 extern bool accessible_base_p (tree, tree, bool);
4247 extern tree lookup_base (tree, tree, base_access,
4249 extern tree dcast_base_hint (tree, tree);
4250 extern int accessible_p (tree, tree, bool);
4251 extern tree lookup_field_1 (tree, tree, bool);
4252 extern tree lookup_field (tree, tree, int, bool);
4253 extern int lookup_fnfields_1 (tree, tree);
4254 extern int class_method_index_for_fn (tree, tree);
4255 extern tree lookup_fnfields (tree, tree, int);
4256 extern tree lookup_member (tree, tree, int, bool);
4257 extern int look_for_overrides (tree, tree);
4258 extern void get_pure_virtuals (tree);
4259 extern void maybe_suppress_debug_info (tree);
4260 extern void note_debug_info_needed (tree);
4263 extern tree current_scope (void);
4267 extern tree context_for_name_lookup (tree);
4268 extern tree lookup_conversions (tree);
4269 extern tree binfo_from_vbase (tree);
4270 extern tree binfo_for_vbase (tree, tree);
4271 extern tree look_for_overrides_here (tree, tree);
4272 #define dfs_skip_bases ((tree)1)
4273 extern tree dfs_walk_all (tree, tree (*) (tree, void *),
4274 tree (*) (tree, void *), void *);
4275 extern tree dfs_walk_once (tree, tree (*) (tree, void *),
4276 tree (*) (tree, void *), void *);
4277 extern tree binfo_via_virtual (tree, tree);
4278 extern tree build_baselink (tree, tree, tree, tree);
4279 extern tree adjust_result_of_qualified_name_lookup
4280 (tree, tree, tree);
4281 extern tree copied_binfo (tree, tree);
4282 extern tree original_binfo (tree, tree);
4283 extern int shared_member_p (tree);
4291 tree binfo;
4293 tree decl;
4295 tree diag_decl;
4309 extern void perform_or_defer_access_check (tree, tree, tree);
4312 extern tree do_poplevel (tree);
4313 extern void add_decl_expr (tree);
4314 extern tree finish_expr_stmt (tree);
4315 extern tree begin_if_stmt (void);
4316 extern void finish_if_stmt_cond (tree, tree);
4317 extern tree finish_then_clause (tree);
4318 extern void begin_else_clause (tree);
4319 extern void finish_else_clause (tree);
4320 extern void finish_if_stmt (tree);
4322 extern tree begin_while_stmt (tree);
4324 extern void finish_while_stmt_cond (tree, tree);
4325 extern void finish_while_stmt (tree);
4327 extern tree begin_do_stmt (tree);
4329 extern void finish_do_body (tree);
4330 extern void finish_do_stmt (tree, tree);
4331 extern tree finish_return_stmt (tree);
4333 extern tree begin_for_stmt (tree);
4335 extern void finish_for_init_stmt (tree);
4336 extern void finish_for_cond (tree, tree);
4337 extern void finish_for_expr (tree, tree);
4338 extern void finish_for_stmt (tree);
4339 extern tree finish_break_stmt (void);
4340 extern tree finish_continue_stmt (void);
4341 extern tree begin_switch_stmt (void);
4342 extern void finish_switch_cond (tree, tree);
4343 extern void finish_switch_stmt (tree);
4344 extern tree finish_case_label (tree, tree);
4345 extern tree finish_goto_stmt (tree);
4346 extern tree begin_try_block (void);
4347 extern void finish_try_block (tree);
4348 extern tree begin_eh_spec_block (void);
4349 extern void finish_eh_spec_block (tree, tree);
4350 extern void finish_handler_sequence (tree);
4351 extern tree begin_function_try_block (tree *);
4352 extern void finish_function_try_block (tree);
4353 extern void finish_function_handler_sequence (tree, tree);
4354 extern void finish_cleanup_try_block (tree);
4355 extern tree begin_handler (void);
4356 extern void finish_handler_parms (tree, tree);
4357 extern void finish_handler (tree);
4358 extern void finish_cleanup (tree, tree);
4365 extern tree begin_compound_stmt (unsigned int);
4367 extern void finish_compound_stmt (tree);
4368 extern tree finish_asm_stmt (int, tree, tree, tree, tree);
4369 extern tree finish_label_stmt (tree);
4370 extern void finish_label_decl (tree);
4371 extern tree finish_parenthesized_expr (tree);
4372 extern tree finish_non_static_data_member (tree, tree, tree);
4373 extern tree begin_stmt_expr (void);
4374 extern tree finish_stmt_expr_expr (tree, tree);
4375 extern tree finish_stmt_expr (tree, bool);
4376 extern tree perform_koenig_lookup (tree, tree);
4377 extern tree finish_call_expr (tree, tree, bool, bool);
4378 extern tree finish_increment_expr (tree, enum tree_code);
4379 extern tree finish_this_expr (void);
4380 extern tree finish_pseudo_destructor_expr (tree, tree, tree);
4381 extern tree finish_unary_op_expr (enum tree_code, tree);
4382 extern tree finish_compound_literal (tree, VEC(constructor_elt,gc) *);
4383 extern tree finish_fname (tree);
4385 extern tree finish_template_type_parm (tree, tree);
4386 extern tree finish_template_template_parm (tree, tree);
4387 extern tree begin_class_definition (tree, tree);
4388 extern void finish_template_decl (tree);
4389 extern tree finish_template_type (tree, tree, int);
4390 extern tree finish_base_specifier (tree, tree, bool);
4391 extern void finish_member_declaration (tree);
4392 extern void qualified_name_lookup_error (tree, tree, tree);
4393 extern void check_template_keyword (tree);
4394 extern tree finish_id_expression (tree, tree, tree,
4399 extern tree finish_typeof (tree);
4400 extern tree finish_offsetof (tree);
4401 extern void finish_decl_cleanup (tree, tree);
4402 extern void finish_eh_cleanup (tree);
4403 extern void expand_body (tree);
4404 extern void finish_mem_initializers (tree);
4405 extern tree check_template_template_default_arg (tree);
4406 extern void expand_or_defer_fn (tree);
4407 extern void check_accessibility_of_qualified_id (tree, tree, tree);
4408 extern tree finish_qualified_id_expr (tree, tree, bool, bool,
4410 extern void simplify_aggr_init_expr (tree *);
4411 extern void finalize_nrv (tree *, tree, tree);
4412 extern void note_decl_for_pch (tree);
4413 extern tree finish_omp_clauses (tree);
4414 extern void finish_omp_threadprivate (tree);
4415 extern tree begin_omp_structured_block (void);
4416 extern tree finish_omp_structured_block (tree);
4417 extern tree begin_omp_parallel (void);
4418 extern tree finish_omp_parallel (tree, tree);
4419 extern tree finish_omp_for (location_t, tree, tree,
4420 tree, tree, tree, tree);
4421 extern void finish_omp_atomic (enum tree_code, tree, tree);
4424 extern enum omp_clause_default_kind cxx_omp_predetermined_sharing (tree);
4425 extern tree cxx_omp_clause_default_ctor (tree, tree);
4426 extern tree cxx_omp_clause_copy_ctor (tree, tree, tree);
4427 extern tree cxx_omp_clause_assign_op (tree, tree, tree);
4428 extern tree cxx_omp_clause_dtor (tree, tree);
4429 extern bool cxx_omp_privatize_by_reference (tree);
4430 extern tree baselink_for_fns (tree);
4432 /* in tree.c */
4435 extern tree stabilize_expr (tree, tree *);
4436 extern void stabilize_call (tree, tree *);
4437 extern bool stabilize_init (tree, tree *);
4438 extern tree add_stmt_to_compound (tree, tree);
4439 extern tree cxx_maybe_build_cleanup (tree);
4441 extern int pod_type_p (tree);
4442 extern bool class_tmpl_impl_spec_p (tree);
4443 extern int zero_init_p (tree);
4444 extern tree canonical_type_variant (tree);
4445 extern tree copy_binfo (tree, tree, tree,
4446 tree *, int);
4447 extern int member_p (tree);
4448 extern cp_lvalue_kind real_lvalue_p (tree);
4449 extern bool builtin_valid_in_constant_expr_p (tree);
4450 extern tree build_min (enum tree_code, tree, ...);
4451 extern tree build_min_nt (enum tree_code, ...);
4452 extern tree build_min_non_dep (enum tree_code, tree, ...);
4453 extern tree build_cplus_new (tree, tree);
4454 extern tree get_target_expr (tree);
4455 extern tree build_cplus_array_type (tree, tree);
4456 extern tree hash_tree_cons (tree, tree, tree);
4457 extern tree hash_tree_chain (tree, tree);
4458 extern tree build_qualified_name (tree, tree, tree, bool);
4459 extern int is_overloaded_fn (tree);
4460 extern tree get_first_fn (tree);
4461 extern tree ovl_cons (tree, tree);
4462 extern tree build_overload (tree, tree);
4463 extern const char *cxx_printable_name (tree, int);
4464 extern tree build_exception_variant (tree, tree);
4465 extern tree bind_template_template_parm (tree, tree);
4466 extern tree array_type_nelts_total (tree);
4467 extern tree array_type_nelts_top (tree);
4468 extern tree break_out_target_exprs (tree);
4469 extern tree get_type_decl (tree);
4470 extern tree decl_namespace_context (tree);
4471 extern bool decl_anon_ns_mem_p (tree);
4472 extern tree lvalue_type (tree);
4473 extern tree error_type (tree);
4474 extern int varargs_function_p (tree);
4475 extern bool really_overloaded_fn (tree);
4476 extern bool cp_tree_equal (tree, tree);
4477 extern tree no_linkage_check (tree, bool);
4478 extern void debug_binfo (tree);
4479 extern tree build_dummy_object (tree);
4480 extern tree maybe_dummy_object (tree, tree *);
4481 extern int is_dummy_object (tree);
4483 extern tree make_ptrmem_cst (tree, tree);
4484 extern tree cp_build_type_attribute_variant (tree, tree);
4485 extern tree cp_build_qualified_type_real (tree, int, tsubst_flags_t);
4488 extern special_function_kind special_function_p (tree);
4489 extern int count_trees (tree);
4490 extern int char_type_p (tree);
4491 extern void verify_stmt_tree (tree);
4492 extern linkage_kind decl_linkage (tree);
4493 extern tree cp_walk_subtrees (tree*, int*, walk_tree_fn,
4495 extern int cp_cannot_inline_tree_fn (tree*);
4496 extern tree cp_add_pending_fn_decls (void*,tree);
4497 extern int cp_auto_var_in_fn_p (tree,tree);
4498 extern tree fold_if_not_in_template (tree);
4499 extern tree rvalue (tree);
4500 extern tree convert_bitfield_to_declared_type (tree);
4501 extern tree cp_save_expr (tree);
4502 extern bool cast_valid_in_integral_constant_expression_p (tree);
4505 extern int string_conv_p (tree, tree, int);
4506 extern tree cp_truthvalue_conversion (tree);
4507 extern tree condition_conversion (tree);
4508 extern tree require_complete_type (tree);
4509 extern tree complete_type (tree);
4510 extern tree complete_type_or_else (tree, tree);
4511 extern int type_unknown_p (tree);
4512 extern bool comp_except_specs (tree, tree, bool);
4513 extern bool comptypes (tree, tree, int);
4514 extern bool compparms (tree, tree);
4515 extern int comp_cv_qualification (tree, tree);
4516 extern int comp_cv_qual_signature (tree, tree);
4517 extern tree cxx_sizeof_or_alignof_expr (tree, enum tree_code);
4518 extern tree cxx_sizeof_or_alignof_type (tree, enum tree_code, bool);
4520 extern tree inline_conversion (tree);
4521 extern tree is_bitfield_expr_with_lowered_type (tree);
4522 extern tree unlowered_expr_type (tree);
4523 extern tree decay_conversion (tree);
4524 extern tree build_class_member_access_expr (tree, tree, tree, bool);
4525 extern tree finish_class_member_access_expr (tree, tree, bool);
4526 extern tree build_x_indirect_ref (tree, const char *);
4527 extern tree build_indirect_ref (tree, const char *);
4528 extern tree build_array_ref (tree, tree);
4529 extern tree get_member_function_from_ptrfunc (tree *, tree);
4530 extern tree build_x_binary_op (enum tree_code, tree,
4531 enum tree_code, tree,
4533 extern tree build_x_unary_op (enum tree_code, tree);
4534 extern tree unary_complex_lvalue (enum tree_code, tree);
4535 extern tree build_x_conditional_expr (tree, tree, tree);
4536 extern tree build_x_compound_expr_from_list (tree, const char *);
4537 extern tree build_x_compound_expr (tree, tree);
4538 extern tree build_compound_expr (tree, tree);
4539 extern tree build_static_cast (tree, tree);
4540 extern tree build_reinterpret_cast (tree, tree);
4541 extern tree build_const_cast (tree, tree);
4542 extern tree build_c_cast (tree, tree);
4543 extern tree build_x_modify_expr (tree, enum tree_code, tree);
4544 extern tree build_modify_expr (tree, enum tree_code, tree);
4545 extern tree convert_for_initialization (tree, tree, tree, int,
4546 const char *, tree, int);
4547 extern int comp_ptr_ttypes (tree, tree);
4548 extern bool comp_ptr_ttypes_const (tree, tree);
4549 extern int ptr_reasonably_similar (tree, tree);
4550 extern tree build_ptrmemfunc (tree, tree, int, bool);
4551 extern int cp_type_quals (tree);
4552 extern bool cp_type_readonly (tree);
4553 extern bool cp_has_mutable_p (tree);
4554 extern bool at_least_as_qualified_p (tree, tree);
4555 extern void cp_apply_type_quals_to_decl (int, tree);
4556 extern tree build_ptrmemfunc1 (tree, tree, tree);
4557 extern void expand_ptrmemfunc_cst (tree, tree *, tree *);
4558 extern tree type_after_usual_arithmetic_conversions (tree, tree);
4559 extern tree composite_pointer_type (tree, tree, tree, tree,
4561 extern tree merge_types (tree, tree);
4562 extern tree check_return_expr (tree, bool *);
4566 extern tree build_ptrmemfunc_access_expr (tree, tree);
4567 extern tree build_address (tree);
4568 extern tree build_nop (tree, tree);
4569 extern tree non_reference (tree);
4570 extern tree lookup_anon_field (tree, tree);
4571 extern bool invalid_nonstatic_memfn_p (tree);
4572 extern tree convert_member_func_to_ptr (tree, tree);
4573 extern tree convert_ptrmem (tree, tree, bool, bool);
4574 extern int lvalue_or_else (tree, enum lvalue_use);
4575 extern int lvalue_p (tree);
4578 extern void require_complete_eh_spec_types (tree, tree);
4579 extern void cxx_incomplete_type_diagnostic (tree, tree, int);
4581 extern void cxx_incomplete_type_error (tree, tree);
4584 extern tree error_not_base_type (tree, tree);
4585 extern tree binfo_or_else (tree, tree);
4586 extern void readonly_error (tree, const char *, int);
4587 extern void complete_type_check_abstract (tree);
4588 extern int abstract_virtuals_error (tree, tree);
4590 extern tree store_init_value (tree, tree);
4591 extern tree digest_init (tree, tree);
4592 extern tree build_scoped_ref (tree, tree, tree *);
4593 extern tree build_x_arrow (tree);
4594 extern tree build_m_component_ref (tree, tree);
4595 extern tree build_functional_cast (tree, tree);
4596 extern tree add_exception_specifier (tree, tree, int);
4597 extern tree merge_exception_specifiers (tree, tree);
4601 extern void mangle_decl (tree);
4602 extern const char *mangle_type_string (tree);
4603 extern tree mangle_typeinfo_for_type (tree);
4604 extern tree mangle_typeinfo_string_for_type (tree);
4605 extern tree mangle_vtbl_for_type (tree);
4606 extern tree mangle_vtt_for_type (tree);
4607 extern tree mangle_ctor_vtbl_for_type (tree, tree);
4608 extern tree mangle_thunk (tree, int, tree, tree);
4609 extern tree mangle_conv_op_name_for_type (tree);
4610 extern tree mangle_guard_variable (tree);
4611 extern tree mangle_ref_init_variable (tree);
4614 extern bool cp_dump_tree (void *, tree);
4618 extern HOST_WIDE_INT cxx_get_alias_set (tree);
4619 extern bool cxx_warn_unused_global_decl (tree);
4620 extern tree cp_expr_size (tree);
4622 extern bool cp_var_mod_type_p (tree, tree);
4624 extern int cxx_types_compatible_p (tree, tree);
4626 extern tree cxx_staticp (tree);
4629 extern int cp_gimplify_expr (tree *, tree *, tree *);
4630 extern void cp_genericize (tree);
4649 extern tree c_return_interface_record_type (tree);
4652 extern cp_declarator* make_block_pointer_declarator (tree, cp_cv_quals,