cp-tree.h (do_auto_deduction (tree, tree, tree)): Remove.
2018-02-14 Paolo Carlini <paolo.carlini@oracle.com> * 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
This commit is contained in:
parent
da07141fd7
commit
87ca401516
|
@ -1,3 +1,13 @@
|
|||
2018-02-14 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* 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 <jakub@redhat.com>
|
||||
|
||||
PR c++/84364
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -3593,7 +3593,7 @@ build_new (vec<tree, va_gc> **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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
13
gcc/cp/pt.c
13
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
|
||||
|
|
Loading…
Reference in New Issue