aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
AgeCommit message (Collapse)AuthorFilesLines
2003-07-02re PR c++/9779 (ICE in type_unknown_p when casting in static member)Nathan Sidwell3-1/+16
cp: PR c++/9779 * decl2.c (arg_assoc_class): Don't die on NULL type. * typeck.c (type_unknown_p): Don't die on untyped expressions. testsuite: PR c++/9779 * g++.dg/template/dependent-expr1.C: New. From-SVN: r68824
2003-07-02re PR c++/6949 (ICE in tsubst_decl, at cp/pt.c:5733)Mark Mitchell2-1/+7
PR c++/6949 * decl2.c (grokfield): Create TEMPLATE_DECLs for methods in local classes. PR c++/6949 * g++.dg/template/local3.C: New test. From-SVN: r68818
2003-07-02* error.c (locate_error): %P takes an `int', not a `tree'.Kaveh R. Ghazi2-1/+5
From-SVN: r68809
2003-07-02decl2.c (defer_fn): Set DECL_DEFER_OUTPUT.Jan Hubicka12-90/+192
* decl2.c (defer_fn): Set DECL_DEFER_OUTPUT. (finish-file): Do not process function with DECL_DEFER_OUTPUT clear; clear DECL_DEFER_OUTPUT once function is processed; avoid flags massaging. * cp-tree.h (DECL_NEEDED_P): Support unit-at-a-time (expand_or_defer_fn): Declare. (lower_function): Declare. * decl.c (start_cleanup_fn): Use expand_or_defer_fn. * decl2.c: Include cgraph.h and varpool.h (maybe_emit_vtables): Make explicit instantations as needed. (mark_member_pointers, lower_function): New functions. (finish_file): Do unit-at-a-time. * method.c (synthesize_method): Use expand_or_defer_fn. * optimize.c (maybe_clone_body): Use expand_or_defer_fn. * parser.c (cp_parser_function_definition_after_decl): Use expand_or_defer_fn. * pt.c (instantiate_decl): Likewise. * semantics.c: Include cgraph.h (expand_or_defer_fn): Break out from ... (expand_body): ... here; deal with unit-at-a-time. * cp-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION): Define. From-SVN: r68801
2003-07-01call.c (resolve_scoped_fn_name): Return error_mark_node for erroneous cases.Mark Mitchell2-1/+9
* call.c (resolve_scoped_fn_name): Return error_mark_node for erroneous cases. From-SVN: r68786
2003-07-01re PR c++/11149 (ICE on error when instantiation with call function of a ↵Mark Mitchell2-0/+8
base type) PR c++/11149 * call.c (resolve_scoped_fn_name): Check that the qualifying scope is a class type. PR c++/11149 * g++.dg/lookup/scoped6.C: New test. From-SVN: r68782
2003-07-01re PR c++/8046 (ICE on illegal code involving destructor being treated as ↵Giovanni Bajo2-0/+13
bit-not expression) 2003-07-01 Giovanni Bajo <giovannibajo@libero.it> PR c++/8046 * error.c (dump_decl): Handle BIT_NOT_EXPR as pseudo destructor calls. From-SVN: r68775
2003-07-01c-tree.h (define_label): Replace filename and lineno arguments with a ↵Nathan Sidwell4-6/+18
location_t. * c-tree.h (define_label): Replace filename and lineno arguments with a location_t. * c-decl.c (poplevel): Adjust define_label call. (pop_label_level): Likewise. (define_label): Replace filename and lineno arguments with a location_t. (store_parm_decls): Use DECL_SOURCE_LOCATION. * c-parse.in (label): Adjust define_label call. * cp/cp-tree.h (define_label): Replace filename and lineno arguments with a location_t. * cp/decl.c (pop_label): Adjust define_label call. (define_label): Replace filename and lineno arguments with a location_t. * cp/semantics.c (finish_label): Adjust define_label call. * java/decl.c (poplevel): Adjust define_label call. From-SVN: r68766
2003-07-01re PR c++/9559 (ICE with invalid initialization of a static const member)Mark Mitchell2-6/+7
PR c++/9559 * decl2.c (grokfield): Do not build NOP_EXPRs around the error_mark_node. PR c++/9559 * g++.dg/init/static1.C: New test. From-SVN: r68764
2003-06-30c-common.c (enum c_language_kind, flag_objc): Remove.Neil Booth5-21/+13
* c-common.c (enum c_language_kind, flag_objc): Remove. (fix_string_type, check_case_value, c_common_nodes_and_builtins, c_add_case_label, finish_label_addr_expr, boolean_increment): Use c_dialect_ macros. * c-common.h (enum c_language_kind): Extend. (c_dialect_cxx, c_dialect_objc): New. (flag_objc): Remove. (c_common_init_options): Update prototype. * c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_ macros. * c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_ macros. * c-format.c (C_STD_VER, C_STD_NAME): Similarly. * c-lang.c (c_init_options): Remove. (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. * c-lex.c (lex_charconst): Use c_dialect_cxx(). * c-opts.c (lang_flags): Make function-local. (c_common_init_options): Use c_dialect_ macros. Handle C++ diagnostic requirements. (c_common_handle_option, c_common_post_options): Use flag_cxx. * c-parse.in (init_reswords): Use c_dialect_objc (). * c-pch.c (get_ident): Use c_language. * c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros. * c-typeck.c (comptypes, build_c_cast): Similarly. * objc/objc-lang.c (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. (objc_init_options): Remove. cp: * Make-lang.in: Update. * cp-lang.c (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. * cp-tree.h (cxx_init_options): Remove. * lex.c: Don't include diagnostic.h. (cxx_init_options): Remove. From-SVN: r68734
2003-06-30re PR c++/4933 (tree_list not supported by dump_expr)Giovanni Bajo2-4/+22
2003-06-30 Giovanni Bajo <giovannibajo@libero.it> PR c++/4933 * error.c (dump_expr): Support correctly the COMPOUND_EXPR tree generated within a template. Use dump_expr to dump an expression sizeof. From-SVN: r68733
2003-06-30pt.c (value_dependent_expression_p): Cast expressions are value-dependent ↵Giovanni Bajo1-3/+6
also if... 2003-06-30 Giovanni Bajo <giovannibajo@libero.it> * pt.c (value_dependent_expression_p): Cast expressions are value-dependent also if their operand is value-dependent itself. From-SVN: r68728
2003-06-30mangle.c (write_expression): Exit gracefully when trying to mangle a CALL_EXPR.Giovanni Bajo2-0/+9
2003-06-30 Giovanni Bajo <giovannibajo@libero.it> * mangle.c (write_expression): Exit gracefully when trying to mangle a CALL_EXPR. From-SVN: r68724
2003-06-30Fix bad indentation due to changes in whitespace between patch creation and ↵Wolfgang Bangerth1-7/+7
patch application. From-SVN: r68722
2003-06-30re PR c++/10750 (error with using template template expression in static ↵Giovanni Bajo2-2/+14
const initializer) 2003-06-30 Giovanni Bajo <giovannibajo@libero.it> PR c++/10750 * parser.c (cp_parser_primary_expression): A VAR_DECL with a (value- or type-) dependent expression as DECL_INITIAL is a valid constant-expression (at parser time). From-SVN: r68720
2003-06-30re PR c++/11106 (Error message gives partially mangled operator name)Giovanni Bajo2-1/+7
2003-06-10 Giovanni Bajo <giovannibajo@libero.it> PR c++/11106 * error.c (dump_decl): Call dump_decl to dump the DECL_NAME for a USING_DECL, instead of print_tree_identifier. From-SVN: r68711
2003-06-29cp-tree.h (language_to_string): Adjust declaration.Gabriel Dos Reis4-37/+48
* cp-tree.h (language_to_string): Adjust declaration. * dump.c (cp_dump_tree): Adjust usage. * error.c (dump_char): Use output_formatted_scalar. Tidy. (parm_to_string): Lose unused parameter. Tidy. (expr_to_string): Likewise. (code_to_string): Likewise. (language_to_string): Likewise. (op_to_string): Likewise. (assop_to_string): Likewise. (digit_buffer): Remove. (dump_type): Format builtin vector type as __vector__. From-SVN: r68668
2003-06-29error.c (print_integer): Remove.Gabriel Dos Reis2-10/+8
* error.c (print_integer): Remove. (dump_type_suffix): Adjust. (dump_expr): Likewise. From-SVN: r68665
2003-06-28error.c (print_instantiation_partial_context): Take a location_t.Nathan Sidwell2-10/+17
* error.c (print_instantiation_partial_context): Take a location_t. (print_instantiation_full_context): Adjust. (print_instantiation_context): Adjust. From-SVN: r68644
2003-06-28diagnostic.h (diagnostic_set_info): Replace file and lineno parameters with ↵Nathan Sidwell3-36/+18
a location_t. * diagnostic.h (diagnostic_set_info): Replace file and lineno parameters with a location_t. * diagnostic.c (diagnostic_set_info): Replace file and lineno parameters with a location_t. (inform, warning, pedwarn, error, sorry, fatal_error, internal_error, warning_with_decl, pedwarn_with_decl, error_with_decl): Adjust. * c-error.c (pedwarn_c99): Adjust. * c-format.c (status_warning): Adjust. * rtl-error.c (file_and_line_for_asm): Rename to ... (location_for_asm): Return a location_t. (diagnostic_for_asm): Adjust. * cp/cp-tree.h (cp_line_of, cp_file_of): Remove. * cp/error.c (cp_line_of, cp_file_of): Merge into ... (location_of): ... here. Make static, return a location_t. (cp_error_at, cp_warning_at, cp_pedwarn_at): Adjust. * testsuite/g++.old-deja/g++.robertl/eb133.C: Set expected line number. * testsuite/g++.old-deja/g++.robertl/eb133a.C: Likewise. * testsuite/g++.old-deja/g++.robertl/eb133b.C: Likewise. From-SVN: r68643
2003-06-28re PR c++/10784 (Warning about choosing custom operator over copy ↵Nathan Sidwell2-2/+7
constructor cannot be turned off (and it's useless in the first place)) PR c++/10784 * call.c (joust): Move warn_conversion check outwards. From-SVN: r68639
2003-06-28* c-format.c (check_format_string, get_constant)Zack Weinberg7-15/+25
* cfgrtl.c (rtl_split_edge): Mark the definition static, matching the forward declaration. cp: * decl.c (build_typename_type) * mangle.c (write_template_template_arg) * parser.c (cp_parser_scope_through_which_access_occurs) * pt.c (push_access_scope_real, push_access_scope, pop_access_scope) * repo.c (get_base_filename) * semantics.c (maybe_convert_cond): Mark the definition static, matching the forward declaration. java: * class.c (build_method_symbols_entry) * expr.c (get_offset_table_index) * jcf-parse.c (jcf_parse): Mark the definition static, matching the forward declaration. From-SVN: r68622
2003-06-27re PR c++/10468 (const typeof(x) is non-const, but only in templates)Mark Mitchell2-1/+9
PR c++/10468 * pt.c (tsubst): Handle qualified TYPEOF_TYPEs correctly. PR c++/10468 * g++.dg/ext/typeof5.C: New test. From-SVN: r68615
2003-06-27re PR c++/10796 (ICE (segfault) when defining an enum with two values: -1 ↵Mark Mitchell2-13/+34
and MAX_INT_64BIT) PR c++/10796 * decl.c (finish_enum): Implement DR377. * decl.c (cp_finish_decl): Don't make variables with reference type readonly while they are being initialized. PR c++/10796 * g++.dg/init/enum1.C: New test. From-SVN: r68610
2003-06-27re PR c++/11332 (Spurious error with casts in ?: expression)Mark Mitchell2-3/+10
PR c++/11332 * typeck.c (build_static_cast): Avoid returning expressions with reference type. PR c++/11332 * g++.dg/expr/static_cast2.C: New test. From-SVN: r68580
2003-06-26call.c (build_op_delete_call): Use strip_array_call.Nathan Sidwell2-5/+9
* call.c (build_op_delete_call): Use strip_array_call. Correct error message to say 'delete' or 'delete[]'. From-SVN: r68536
2003-06-26re PR c++/8266 (Explicit instantiation of a template outside its namespace ↵Giovanni Bajo2-7/+20
is broken) From Giovanni Bajo <giovannibajo@libero.it> cp: PR c++/8266 * pt.c (check_explicit_specialization): When looking up a template function from an identifier outside class-scope, bind it to CP_DECL_CONTEXT. testsuite: PR c++/8266 * g++.dg/template/explicit-instantiation3.C: New test. From-SVN: r68527
2003-06-26re PR c++/10990 (Cannot convert with dynamic_cast<> to a private base class ↵Mark Mitchell2-27/+61
from within a member function) PR c++/10990 * search.c (lookup_base_r): Rely on accessible_p, rather than trying to emulate that logic here. PR c++/10990 * g++.dg/rtti/dyncast1.C: New test. * g++.dg/abi/mangle4.C: Correct base-specifier access. * g++.dg/lookup/scoped1.C: Remove XFAIL. * g++.old-deja/g++.martin/pmf1.C: Correct base-specifier access. From-SVN: r68507
2003-06-26re PR c++/10931 (valid conversion static_cast<const unsigned ↵Mark Mitchell4-86/+199
int&>(lvalue-of-type-int) is rejected) PR c++/10931 * g++.dg/expr/static_cast1.C: New test. PR c++/10931 * call.c (convert_like): Pass issue_conversion_warnings. (convert_like_with_context): Likewise. (convert_like_real): Add issue_conversion_warnings parameter. (perform_direct_initialization_if_possible): New function. * cp-tree.h (perform_direct_initialization_if_possible): Declare it. * typeck.c (check_for_casting_away_constness): New function. (build_static_cast): Rewrite. From-SVN: r68506
2003-06-24call.c (enforce_access): Assert we get a binfo.Nathan Sidwell13-69/+108
* call.c (enforce_access): Assert we get a binfo. (build_op_delete_call): Pass a binfo to perform_or_defer_access_check. * class.c (alter_access): Likewise. * decl.c (make_typename_type): Likewise. (make_unbound_class_template): Likewise. * lex.c (do_identifier): Likewise. * method.c (hack_identifier): Likewise. * parser.c (cp_parser_lookup_name): Likewise. * search.c (lookup_member): Likewise. Move IDENTIFIER_CLASS_VALUE test. * semantics.c (finish_non_static_data_member): Likewise. (perform_or_defer_access_check): Expect a binfo. * typeck.c (comptypes): Expect types. * mangle.c (find_substitution): Don't pass a non-type to same_type_p * friend.c (make_friend_class): Likewise. * pt.c (check_default_tmpl_args): Likewise. (lookup_template_class): Likewise. From-SVN: r68424
2003-06-24method.c (thunk_labelno): Move outside ifdef block to make garbage collector ↵Jan Hubicka2-1/+8
happy. * method.c (thunk_labelno): Move outside ifdef block to make garbage collector happy. From-SVN: r68419
2003-06-24langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.Jan Hubicka5-6/+25
* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro. * langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable. * varasm.c (assemble_variable): Call prepare_assemble_variable. * class.c (build_vtable): Make vtables. * cp-tree.h (DECL_VTABLE_OR_VTT_P): New macro. * decl2.c (output_vtable_inherit): Rename to ... (prepare_assemble_variable): ... this one; change interface. (maybe_emit_vtables): Do not call output_vtable_inherit. * cp-lang.c (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Define. * cp-tree.h (prepare_assemble_variable): New. From-SVN: r68418
2003-06-24method.c: add prototype for make_alias_for_thunk.Andrew Pinski2-0/+11
* method.c: add prototype for make_alias_for_thunk. (thunk_labelno, make_alias_for_thunk): only define if ASM_OUTPUT_DEF is defined. From-SVN: r68405
2003-06-23i386.c (x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF.Jakub Jelinek4-7/+88
* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0, just SYMBOL_REF. * config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31 mode, as it requires pic register loaded. * varasm.c (resolve_unique_section): Remove prototype. No longer static. * tree.h (resolve_unique_section): New prototype. cp/ * method.c (thunk_labelno): New variable. (make_alias_for_thunk): New function. (use_thunk): Use it if defined ASM_OUTPUT_DEF. Put the thunk into the same section as the function it is calling. Include gt-cp-method.h. * Make-lang.in (gt-cp-method.h): Depend on s-gtype. (cp/method.o): Depend on gt-cp-method.h. * config-lang.in (gtfiles): Add $(srcdir)/cp/method.c. From-SVN: r68389
2003-06-23decl.c (register_dtor_fn): Mark cleanup as used.Jan Hubicka4-4/+25
* decl.c (register_dtor_fn): Mark cleanup as used. * decl2.c (mark_vtable_entries): Skip nops. * rtti.c (get_tinfo_ptr): Mark tinfo as used. (build_dynamic_cast_1): Likewise. (tinfo_base_init): Likewise. (emit_tinfo_decl): Likewise. From-SVN: r68377
2003-06-23mangle.c (hash_type): val is the TREE_LIST itself, not a pointer to it.Jakub Jelinek2-1/+6
* mangle.c (hash_type): val is the TREE_LIST itself, not a pointer to it. * g++.dg/opt/operator1.C: New test. From-SVN: r68364
2003-06-21re PR c++/10784 (Warning about choosing custom operator over copy ↵Gabriel Dos Reis2-2/+8
constructor cannot be turned off (and it's useless in the first place)) cp/ PR c++/10784 * call.c (joust): Warn about choosing conversion sequence only if -Wconversion. testsuite/ * g++.old-deja/g++.benjamin/16077.C: Add -Wconversion option. * g++.old-deja/g++.other/conv7.C: Likewise * g++.old-deja/g++.other/overcnv2.C: Likewise. * g++.old-deja/g++.other/overload14.C: Likewise. From-SVN: r68312
2003-06-21PC c++/10864Gabriel Dos Reis2-8/+19
PC c++/10864 * call.c (op_error): Tidy. * error.c (dump_expr): Properly format 'T()' when T is an aggregate type. From-SVN: r68309
2003-06-21re PR c++/10915 (a not-useful non-avoidable warning: conversion to a ↵Gabriel Dos Reis2-1/+7
reference to the same type will never use a type conversion operator) testsuite/ * g++.old-deja/g++.jason/conversion5.C: Adjust option. * g++.old-deja/g++.bugs/900215_01.C: Likewise. cp/ PR c++/10915 * decl.c (grok_op_properties): Warn possible confusing conversion only if -Wconversion. From-SVN: r68303
2003-06-20re PR c++/10749 (triple nested template classes in namespace need to qualify ns)Mark Mitchell2-1/+5
PR c++/10749 * parser.c (cp_parser_class_head): See through dependent names when parsing a class-head. PR c++/10749 * g++.dg/template/memclass2.C: New test. From-SVN: r68276
2003-06-20re PR c++/10845 (template member function (getting a nested template as ↵Mark Mitchell2-1/+8
parameter) cannot be called anymore if another unrelated template member function is defined.) PR c++/10845 * pt.c (try_class_unification): Correct handling of member class templates. * semantics.c (genrtl_finish_function): Adjust expand_function_end call. From-SVN: r68269
2003-06-20tree.h (expand_function_end): Remove all parameters.Nathan Sidwell2-1/+6
* tree.h (expand_function_end): Remove all parameters. * function.c (expand_function_end): Remove all parameters. Use input_location. Never expand_end_bindings. * c-decl.c (c_expand_body_1): Adjust expand_function_end call. * coverage.c (create_coverage): Likewise. * ada/utils.c (end_subprog_body): Adjust expand_function_end call. * cp/semantics.c (genrtl_finish_function): Adjust expand_function_end call. * f/com.c (finish_function): Adjust expand_function_end call. * java/class.c (push_class): Use a location_t to save place. (emit_register_classes): Set input_location. Adjust expand_function_end call. * java/resource.c (write_resource_constructor): Likewise. * java/decl.c (end_java_method): Adjust expand_function_end call. * java/parse.y (source_end_java_method): Likewise. * treelang/treetree.c (tree_code_create_function_wrapup): Adjust expand_function_end call. From-SVN: r68255
2003-06-20re PR c++/10939 (ICE with templated code)Mark Mitchell2-2/+18
PR c++/10939 * pt.c (tsubst_decl): Do not try to substitute into non-dependent functions. (value_dependent_expression_p): Correct logic for FUNCTION_DECLs. PR c++/10939 * g++.dg/template/func1.C: New test. From-SVN: r68244
2003-06-20re PR c++/9649 (ICE in finish_member_declaration at cp/semantics.c:1850 when ↵Mark Mitchell4-23/+48
redeclaring a static member variable) PR c++/9649 * cp-tree.h (pushdecl_class_level): Change prototype. (push_class_level_binding): Likewise. * decl.c (add_binding): Reject duplicate static data members. (pushdecl_class_level): Return a value indicating whether or not the binding was valid. (push_class_level_binding): Likewise. * semantics.c (finish_member_declaration): Don't keep invalid declarations. PR c++/9649 * g++.dg/template/static4.C: New test. * g++.old-deja/g++.other/anon7.C: Remove spurious error messages. From-SVN: r68240
2003-06-20re PR middle-end/11041 (ICE: const myclass &x = *x; (when operator*() defined))Mark Mitchell7-40/+87
PR c++/11041 * call.c (initialize_reference): Do not use cp_finish_decl to emit temporary variables. * cp-tree.h (static_aggregates): Declare. (pushdecl_top_level_and_finish): Likewise. * decl.c (pushdecl_top_level_1): New function. (pushdecl_top_level): Use it. (pushdecl_top_level_and_finish): New function. (initialize_local_var): Remove redundant code. (cp_finish_decl): Remove support for RESULT_DECLs. Don't check building_stmt_tree. * decl.h (static_aggregates): Remove. * decl2.c (get_guard): Use pushdecl_top_level_and_finish. * rtti.c (get_tinfo_decl): Use pushdecl_top_level_and_finish. (tinfo_base_init): Likewise. PR c++/11041 * g++.dg/init/ref7.C: New test. From-SVN: r68236
2003-06-20Fix for PR c++/11228, infinite loop for new int[n]().Matt Austern2-1/+15
From-SVN: r68235
2003-06-19c-tree.h: Remove declaration of poplevel.Andreas Jaeger2-6/+7
* c-tree.h: Remove declaration of poplevel. * tree.h: Remove declaration of approx_sqrt. * c-lex.c: Remove redundant declaration of asm_out_file. * flags.h: Remove declaration of warn_unknown_pragma and main_input_filename. * rtl.h: Remove functions from fold-const.c since they're already declared in tree.h. * regs.h: Remove redundant declaration of reg_names. cp: * cp-tree.h: Remove duplicated declarations. From-SVN: r68193
2003-06-19pt.c: Convert to ISO C.Nathanael Nerode3-664/+399
* pt.c: Convert to ISO C. * semantics.c: Convert to ISO C. From-SVN: r68174
2003-06-18cp-tree.h (comp_except_specs, [...]): Return bool.Nathan Sidwell3-257/+164
* cp-tree.h (comp_except_specs, compparms, cp_has_mutable_p, at_least_as_qualified_p, more_qualified_p): Return bool. * typeck.c: ANSIFY function definitions. (comp_array_types): Take redeclaration bool parameter. (comptypes): Rearrange STRICT handling. (at_least_as_qualified_p, more_qualified_p, comp_cv_qualification): Cache cv quals. (compparms): Rearrange loop. From-SVN: r68164
2003-06-18cp-tree.h (COMPARE_RELAXED): Rename to ...Nathan Sidwell7-247/+215
* cp-tree.h (COMPARE_RELAXED): Rename to ... (COMPARE_DERIVED): ... here. Adjust comment. (resolve_typename_type_in_current_instantiation): Remove. (cp_tree_equal, comptypes): Return a bool. * cvt.c (convert_to_reference): Adjust comptypes call. * pt.c (template_args_equal, unify,): Adjust cp_tree_equal call. (resolve_typename_type_in_current_instantiation): Remove. * tree.c (cp_tree_equal): Return bool. Cope with TEMPLATE_DECLs and IDENTIFIER_NODEs. Abort if undeciderable. Adjust recursive calls. Refactor code. * typeck.c (comp_array_types): Return bool. Lose callback. parameter. Adjust cp_tree_equal calls. (comptypes): Return bool. Adjust strict handling. Remove relaxed enumeration and java type handling. Deal with typename types here. Adjust recursive and cp_tree_equals calls. Adjust base and derived checking. (comp_target_types): Remove unreachable code. Adjust same_or_base_type_p calls. (ptr_reasonably_similar): Adjust base and derived check. * typeck.c (maybe_warn_about_returning_address_of_local): Remove unused calculation. (check_return_expr): Adjust error messages. * cp-tree.def (SCOPE_REF): Correct comment. From-SVN: r68155