* call.c (add_template_candidate): Adjust for changes to fn_type_unification. (add_template_candidate_real): Likewise. (add_template_conv_candidate): Likewise. (build_user_type_conversion_1): Likewise. (build_new_function_call): Likewise. (build_object_call): Likewise. (build_new_op): Likewise. (build_new_method_call): Likewise. * class.c (instantiate_type): Likewise. * cp-tree.h (unification_kind_t): New type. (fn_type_unification): Adjust prototype. (type_unificaiton): Likewise. * pt.c (UNIFY_ALLOW_NONE): New macro. (UNIFY_ALLOW_MORE_CV_QUAL): Likewise. (UNIFY_ALLOW_LESS_CV_QUAL): Likewise. (UNIFY_ALLOW_DERIVED): Likewise. (unify): Change prototype. (maybe_adjust_types_for_deduction): New function. (check_cv_quals_for_unify): Likewise. (determine_specialization): Adjust. (fn_type_unification): Likewise. (type_unification): Likewise. (type_unification_real): Likewise. Use maybe_adjust_types_for_deduction. Fix mishandling of back-unification of template functions passed as arguments. Pass appropriate combination of UNIFY_ALLOW_* to unify. (unify): Remove unused NTPARMS parameter. Use check_cv_quals_for_unify. Remove bogus code that allowed too-generous unification in order to adhere more closely to standard. (get_bindings_real): Adjust. (get_class_bindings): Likewise. * method.c (build_overload_identifier): Only use the innermost template arguments when mangling. * pt.c (tsubst_template_argument_vector): New function. (complete_template_args): Deal with the situation where the extra_args contain more than one level of arguments. (lookup_template_class): Deal with member template classes, which may have more than one level of arguments. (tsubst): Don't tsbust into the TREE_TYPE of an IDENTIFIER_NODE. Improve handling of member template classes. Use DECL_PRIMARY_TEMPLATE instead of inline expansion. Use tsubst_template_argument_vector where appropriate. (regenerate_decl_from_template): Break out from ... (instantiate_decl): Here. From-SVN: r19663
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
config | Loading commit data... | |
contrib/fixinc | Loading commit data... | |
etc | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libf2c | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libstdc++ | Loading commit data... | |
texinfo | Loading commit data... | |
xiberty | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
mpw-README | Loading commit data... | |
mpw-build.in | Loading commit data... | |
mpw-config.in | Loading commit data... | |
mpw-configure | Loading commit data... | |
mpw-install | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |