OSDN Git Service

* g++.old-deja/g++.benjamin/16077.C: Adjust warnings.
[pf3gnuchains/gcc-fork.git] / gcc / cp / cp-tree.h
index 4080248..a45e546 100644 (file)
@@ -222,6 +222,10 @@ struct diagnostic_context;
   (flag_abi_version == 0 || flag_abi_version >= (N))
 
 \f
+/* Datatype used to temporarily save C++ bindings (for implicit
+   instantiations purposes and like).  Implemented in decl.c.  */
+typedef struct cxx_saved_binding cxx_saved_binding;
+\f
 /* Language-dependent contents of an identifier.  */
 
 struct lang_identifier GTY(())
@@ -755,7 +759,7 @@ extern GTY(()) tree cp_global_trees[CPTI_MAX];
 
 struct saved_scope GTY(())
 {
-  tree old_bindings;
+  cxx_saved_binding *old_bindings;
   tree old_namespace;
   tree decl_ns_list;
   tree class_name;
@@ -3560,6 +3564,7 @@ extern tree type_decays_to (tree);
 extern tree resolve_scoped_fn_name (tree, tree);
 extern tree build_user_type_conversion (tree, tree, int);
 extern tree build_new_function_call (tree, tree);
+extern tree build_operator_new_call (tree, tree, tree *, tree *);
 extern tree build_new_method_call (tree, tree, tree, tree, int);
 extern tree build_special_member_call (tree, tree, tree, tree, int);
 extern tree build_new_op (enum tree_code, int, tree, tree, tree);
@@ -3576,7 +3581,8 @@ extern tree type_passed_as (tree);
 extern tree convert_for_arg_passing (tree, tree);
 extern tree cp_convert_parm_for_inlining        (tree, tree, tree);
 extern bool is_properly_derived_from (tree, tree);
-extern tree initialize_reference (tree, tree);
+extern tree initialize_reference (tree, tree, tree);
+extern tree make_temporary_var_for_ref_to_temp (tree, tree);
 extern tree strip_top_quals (tree);
 extern tree perform_implicit_conversion (tree, tree);
 extern tree in_charge_arg_for_name (tree);
@@ -3638,7 +3644,7 @@ extern tree ocp_convert (tree, tree, int, int);
 extern tree cp_convert (tree, tree);
 extern tree convert_to_void (tree, const char */*implicit context*/);
 extern tree convert_force (tree, tree, int);
-extern tree build_type_conversion (tree, tree, int);
+extern tree build_type_conversion (tree, tree);
 extern tree build_expr_type_conversion (int, tree, bool);
 extern tree type_promotes_to (tree);
 extern tree perform_qualification_conversions (tree, tree);
@@ -3719,6 +3725,7 @@ extern tree lookup_name_current_level             (tree);
 extern tree lookup_type_current_level          (tree);
 extern tree lookup_name_real                    (tree, int, int, int, int);
 extern tree namespace_ancestor                 (tree, tree);
+extern bool is_ancestor                         (tree, tree);
 extern tree unqualified_namespace_lookup       (tree, int, tree *);
 extern tree check_for_out_of_scope_variable     (tree);
 extern bool lookup_using_namespace (tree, tree, tree, tree, int, tree *);
@@ -3845,7 +3852,7 @@ extern tree do_class_using_decl (tree);
 extern void do_using_directive (tree);
 extern void check_default_args (tree);
 extern void mark_used (tree);
-extern tree handle_class_head (enum tag_types, tree, tree, tree, bool, bool *);
+extern tree handle_class_head (enum tag_types, tree, tree, tree);
 extern tree lookup_arg_dependent (tree, tree, tree);
 extern void finish_static_data_member_decl (tree, tree, tree, int);
 extern tree cp_build_parm_decl (tree, tree);
@@ -3958,7 +3965,7 @@ extern tree make_aggr_type                        (enum tree_code);
 extern void yyerror                            (const char *);
 extern void yyhook                             (int);
 extern int cp_type_qual_from_rid                (tree);
-extern const char *cxx_init                    (const char *);
+extern bool cxx_init                           (void);
 extern void cxx_finish (void);
 extern void cxx_init_options (void);
 
@@ -4199,7 +4206,6 @@ extern void expand_body                         (tree);
 extern tree nullify_returns_r                (tree *, int *, void *);
 extern void do_pushlevel                        (scope_kind);
 extern tree do_poplevel                         (void);
-extern void begin_mem_initializers              (void);
 extern void finish_mem_initializers             (tree);
 extern void setup_vtbl_ptr                     (tree, tree);
 extern void clear_out_block                     (void);
@@ -4221,6 +4227,7 @@ extern tree copy_base_binfos                      (tree, tree, tree);
 extern int member_p                            (tree);
 extern cp_lvalue_kind real_lvalue_p            (tree);
 extern int non_cast_lvalue_p                   (tree);
+extern cp_lvalue_kind real_non_cast_lvalue_p    (tree);
 extern int non_cast_lvalue_or_else             (tree, const char *);
 extern tree build_min                          (enum tree_code, tree,
                                                         ...);
@@ -4318,8 +4325,6 @@ extern tree build_x_indirect_ref          (tree, const char *);
 extern tree build_indirect_ref                 (tree, const char *);
 extern tree build_array_ref                    (tree, tree);
 extern tree get_member_function_from_ptrfunc   (tree *, tree);
-extern tree build_function_call_real           (tree, tree, int, int);
-extern tree build_function_call_maybe          (tree, tree);
 extern tree convert_arguments                  (tree, tree, tree, int);
 extern tree build_x_binary_op                  (enum tree_code, tree, tree);
 extern tree build_x_unary_op                   (enum tree_code, tree);
@@ -4355,6 +4360,8 @@ extern tree check_return_expr                   (tree);
 #define cxx_sizeof(T)  cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, true)
 #define cxx_alignof(T) cxx_sizeof_or_alignof_type (T, ALIGNOF_EXPR, true)
 extern tree build_ptrmemfunc_access_expr       (tree, tree);
+extern tree build_address                       (tree);
+extern tree build_nop                           (tree, tree);
 
 /* in typeck2.c */
 extern void require_complete_eh_spec_types     (tree, tree);