From: Paolo Carlini Date: Wed, 14 Feb 2018 14:19:50 +0000 (+0000) Subject: cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=87ca401516de990160167da4849cd0b31394237d;p=gcc.git cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. 2018-02-14 Paolo Carlini * cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. (do_auto_deduction (tree, tree, tree, tsubst_flags_t, auto_deduction_context, tree, int): Add defaults. * pt.c (do_auto_deduction (tree, tree, tree)): Remove definition. (tsubst_omp_for_iterator): Adjust do_auto_deduction call, forward tsubst_flags_t argument. * init.c (build_new): Likewise. From-SVN: r257659 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ed44d9e2842..4955bf9e1a0 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,13 @@ +2018-02-14 Paolo Carlini + + * cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove. + (do_auto_deduction (tree, tree, tree, tsubst_flags_t, + auto_deduction_context, tree, int): Add defaults. + * pt.c (do_auto_deduction (tree, tree, tree)): Remove definition. + (tsubst_omp_for_iterator): Adjust do_auto_deduction call, forward + tsubst_flags_t argument. + * init.c (build_new): Likewise. + 2018-02-13 Jakub Jelinek PR c++/84364 diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 9a9e9f0bbcb..9038d677b2d 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -6470,10 +6470,11 @@ extern tree make_auto (void); extern tree make_decltype_auto (void); extern tree make_template_placeholder (tree); extern bool template_placeholder_p (tree); -extern tree do_auto_deduction (tree, tree, tree); extern tree do_auto_deduction (tree, tree, tree, - tsubst_flags_t, - auto_deduction_context, + tsubst_flags_t + = tf_warning_or_error, + auto_deduction_context + = adc_unspecified, tree = NULL_TREE, int = LOOKUP_NORMAL); extern tree type_uses_auto (tree); diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 233f41c2592..d0d14abdc9f 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -3593,7 +3593,7 @@ build_new (vec **placement, tree type, tree nelts, d_init = (**init)[0]; d_init = resolve_nondeduced_context (d_init, complain); } - type = do_auto_deduction (type, d_init, auto_node); + type = do_auto_deduction (type, d_init, auto_node, complain); } } diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 222084df4cb..e62e320fe31 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -15785,7 +15785,7 @@ tsubst_omp_for_iterator (tree t, int i, tree declv, tree orig_declv, tree auto_node = type_uses_auto (TREE_TYPE (decl)); if (auto_node && init) TREE_TYPE (decl) - = do_auto_deduction (TREE_TYPE (decl), init, auto_node); + = do_auto_deduction (TREE_TYPE (decl), init, auto_node, complain); gcc_assert (!type_dependent_expression_p (decl)); @@ -25940,17 +25940,6 @@ do_class_deduction (tree ptype, tree tmpl, tree init, int flags, return cp_build_qualified_type (TREE_TYPE (call), cp_type_quals (ptype)); } -/* Replace occurrences of 'auto' in TYPE with the appropriate type deduced - from INIT. AUTO_NODE is the TEMPLATE_TYPE_PARM used for 'auto' in TYPE. */ - -tree -do_auto_deduction (tree type, tree init, tree auto_node) -{ - return do_auto_deduction (type, init, auto_node, - tf_warning_or_error, - adc_unspecified); -} - /* Replace occurrences of 'auto' in TYPE with the appropriate type deduced from INIT. AUTO_NODE is the TEMPLATE_TYPE_PARM used for 'auto' in TYPE. The CONTEXT determines the context in which auto deduction is performed