re PR c++/45329 (When printing a list of candidate functions, explain why each function failed to match.) PR c++/45329 PR c++/48934 * cp-tree.h (fn_type_unification): Add `bool' parameter. * pt.c (enum template_base_result): Define. (unify_success, unify_unknown): Define. (unify_parameter_deduction_failure): Define. (unify_invalid, unify_cv_qual_mismatch, unify_type_mismatch): Define. (unify_parameter_pack_mismatch): Define. (unify_parameter_pack_inconsistent): Define. (unify_ptrmem_cst_mismatch, unify_vla_arg): Define. (unify_expression_unequal, unify_inconsistency): Define. (unify_method_type_error, unify_arity): Likewise. (unify_too_many_parameters, unify_too_few_parameters): Define. (unify_arg_conversion, unify_no_common_base): Define. (unify_illformed_ptrmem_cst_expr): Define. (unify_substitution_failure): Define. (unify_inconsistent_template_template_parameters): Define. (unify_template_deduction_failure): Define. (unify_template_argument_mismatch): Define. (unify_overload_resolution_failure): Define. (comp_template_args_with_info): New function, split out from... (comp_template_args): ...here. Call it. (deduction_tsubst_fntype): Add `complain' parameter'. Pass it to tsubst. (unify): Add `explain_p' parameter. Pass to all relevant calls. Call above status functions when appropriate. (resolve_overloaded_unification, try_one_overload): Likewise. (type_unification, type_unification_real): Likewise. (unify_pack_expansion): Likewise. (get_template_base, try_class_unification): Likewise. (get_bindings, more_specialized_fn): Pass false to unification calls. (get_class_bindings, do_auto_deduction): Likewise. (convert_nontype_argument): Likewise. (fn_type_unification): Likewise. Pass tf_warning_or_error if explain_p. (get_template_base): Add `explain_p' parameter and pass it to try_class_unification. Return an enum template_base_result. * class.c (resolve_address_of_overloaded_function): Pass false to fn_type_unification. * call.c (enum rejection_reason_code): Add new codes. (struct rejection_reason): Add template_unification field. Add template_instantiation field. (template_unification_rejection): Define. (template_unification_error_rejection): Define. (template_instantiation_rejection): Define. (invalid_copy_with_fn_template_rejection): Define. (add_template_candidate): Pass false to unify. Provide more rejection reasons when possible. (print_template_unification_rejection): Define. (print_arity_rejection): Define, split out from... (print_z_candidate): ...here. Add cases for new rejection reasons. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r176365
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 980310-1.C | Loading commit data... | |
| README | Loading commit data... | |
| eb10.C | Loading commit data... | |
| eb102.C | Loading commit data... | |
| eb103.C | Loading commit data... | |
| eb104.C | Loading commit data... | |
| eb105.C | Loading commit data... | |
| eb106.C | Loading commit data... | |
| eb107.C | Loading commit data... | |
| eb108.C | Loading commit data... | |
| eb109.C | Loading commit data... | |
| eb11.C | Loading commit data... | |
| eb110.C | Loading commit data... | |
| eb111.C | Loading commit data... | |
| eb112.C | Loading commit data... | |
| eb113.C | Loading commit data... | |
| eb114.C | Loading commit data... | |
| eb115.C | Loading commit data... | |
| eb116.C | Loading commit data... | |
| eb119.C | Loading commit data... | |
| eb12.C | Loading commit data... | |
| eb120.C | Loading commit data... | |
| eb121.C | Loading commit data... | |
| eb122.C | Loading commit data... | |
| eb123.C | Loading commit data... | |
| eb124.C | Loading commit data... | |
| eb125.C | Loading commit data... | |
| eb126.C | Loading commit data... | |
| eb127.C | Loading commit data... | |
| eb128.C | Loading commit data... | |
| eb129.C | Loading commit data... | |
| eb129a.C | Loading commit data... | |
| eb13.C | Loading commit data... | |
| eb130.C | Loading commit data... | |
| eb131.C | Loading commit data... | |
| eb132.C | Loading commit data... | |
| eb133a.C | Loading commit data... | |
| eb133b.C | Loading commit data... | |
| eb133c.C | Loading commit data... | |
| eb14.C | Loading commit data... | |
| eb15.C | Loading commit data... | |
| eb16.C | Loading commit data... | |
| eb17.C | Loading commit data... | |
| eb18.C | Loading commit data... | |
| eb19.C | Loading commit data... | |
| eb2.C | Loading commit data... | |
| eb20.C | Loading commit data... | |
| eb21.C | Loading commit data... | |
| eb22.C | Loading commit data... | |
| eb23.C | Loading commit data... | |
| eb24.C | Loading commit data... | |
| eb26.C | Loading commit data... | |
| eb27.C | Loading commit data... | |
| eb28.C | Loading commit data... | |
| eb29.C | Loading commit data... | |
| eb3.C | Loading commit data... | |
| eb30.C | Loading commit data... | |
| eb31.C | Loading commit data... | |
| eb32.C | Loading commit data... | |
| eb33.C | Loading commit data... | |
| eb34.C | Loading commit data... | |
| eb35.C | Loading commit data... | |
| eb36.C | Loading commit data... | |
| eb37.C | Loading commit data... | |
| eb38.C | Loading commit data... | |
| eb39.C | Loading commit data... | |
| eb4.C | Loading commit data... | |
| eb41.C | Loading commit data... | |
| eb43.C | Loading commit data... | |
| eb44.C | Loading commit data... | |
| eb45.C | Loading commit data... | |
| eb46.C | Loading commit data... | |
| eb48.C | Loading commit data... | |
| eb49.C | Loading commit data... | |
| eb5.C | Loading commit data... | |
| eb50.C | Loading commit data... | |
| eb51.C | Loading commit data... | |
| eb52.C | Loading commit data... | |
| eb54.C | Loading commit data... | |
| eb55.C | Loading commit data... | |
| eb56.C | Loading commit data... | |
| eb57.C | Loading commit data... | |
| eb58.C | Loading commit data... | |
| eb59.C | Loading commit data... | |
| eb6.C | Loading commit data... | |
| eb60.C | Loading commit data... | |
| eb61.C | Loading commit data... | |
| eb62.C | Loading commit data... | |
| eb63.C | Loading commit data... | |
| eb64.C | Loading commit data... | |
| eb65.C | Loading commit data... | |
| eb66.C | Loading commit data... | |
| eb67.C | Loading commit data... | |
| eb69.C | Loading commit data... | |
| eb7.C | Loading commit data... | |
| eb70.C | Loading commit data... | |
| eb71.C | Loading commit data... | |
| eb73.C | Loading commit data... | |
| eb74.C | Loading commit data... | |
| eb75.C | Loading commit data... | |
| eb76.C | Loading commit data... | |
| eb77.C | Loading commit data... | |
| eb79.C | Loading commit data... | |
| eb8.C | Loading commit data... | |
| eb80.C | Loading commit data... | |
| eb81.C | Loading commit data... | |
| eb82.C | Loading commit data... | |
| eb83.C | Loading commit data... | |
| eb84.C | Loading commit data... | |
| eb86.C | Loading commit data... | |
| eb87.C | Loading commit data... | |
| eb88.C | Loading commit data... | |
| eb9.C | Loading commit data... | |
| eb90.C | Loading commit data... | |
| eb91.C | Loading commit data... | |
| eb92.C | Loading commit data... | |
| eb93.C | Loading commit data... | |
| eb94.C | Loading commit data... | |
| eb95.C | Loading commit data... | |
| eb97.C | Loading commit data... | |
| eb98.C | Loading commit data... | |
| eb99.C | Loading commit data... | |
| ebnull-cast.C | Loading commit data... | |
| ebnull-oldcast.C | Loading commit data... | |
| ebnull.C | Loading commit data... | |
| eh990323-1.C | Loading commit data... | |
| eh990323-2.C | Loading commit data... | |
| eh990323-3.C | Loading commit data... | |
| eh990323-4.C | Loading commit data... | |
| eh990323-5.C | Loading commit data... | |
| ice990323-1.C | Loading commit data... | |
| ice990323-2.C | Loading commit data... | |
| ice990323-3.C | Loading commit data... | |
| ice990323-4.C | Loading commit data... | |
| ice990323-5.C | Loading commit data... |