summaryrefslogtreecommitdiff
path: root/gcc/cp/call.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-10 19:12:32 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2016-02-10 19:12:32 +0000
commit703eb775c003662dd6bd0aba448b33c5efed823a (patch)
tree9da088c90297b614b71f8123a6d2364a9718a18e /gcc/cp/call.c
parentbe7c31e97279de9e4311a781a9a7dab16f503b57 (diff)
downloadgcc-703eb775c003662dd6bd0aba448b33c5efed823a.tar.gz
PR c++/68926
* pt.c (resolve_nondeduced_context): Add complain parm. (do_auto_deduction): Pass it. * cvt.c (convert_to_void): Likewise. * decl.c (cp_finish_decl): Likewise. * init.c (build_new): Likewise. * rtti.c (get_tinfo_decl_dynamic): Likewise. * semantics.c (finish_decltype_type): Likewise. * typeck.c (decay_conversion): Likewise. * cp-tree.h: Adjust declaration. * call.c (standard_conversion): Add complain parm, pass it along. (implicit_conversion): Pass it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233304 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/call.c')
-rw-r--r--gcc/cp/call.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index ce87be72c14..cb71176c6ca 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -190,7 +190,6 @@ static struct z_candidate *add_function_candidate
tree, int, tsubst_flags_t);
static conversion *implicit_conversion (tree, tree, tree, bool, int,
tsubst_flags_t);
-static conversion *standard_conversion (tree, tree, tree, bool, int);
static conversion *reference_binding (tree, tree, tree, bool, int,
tsubst_flags_t);
static conversion *build_conv (conversion_kind, tree, conversion *);
@@ -1080,7 +1079,7 @@ strip_top_quals (tree t)
static conversion *
standard_conversion (tree to, tree from, tree expr, bool c_cast_p,
- int flags)
+ int flags, tsubst_flags_t complain)
{
enum tree_code fcode, tcode;
conversion *conv;
@@ -1110,7 +1109,7 @@ standard_conversion (tree to, tree from, tree expr, bool c_cast_p,
else if (TREE_CODE (to) == BOOLEAN_TYPE)
{
/* Necessary for eg, TEMPLATE_ID_EXPRs (c++/50961). */
- expr = resolve_nondeduced_context (expr);
+ expr = resolve_nondeduced_context (expr, complain);
from = TREE_TYPE (expr);
}
}
@@ -1149,7 +1148,8 @@ standard_conversion (tree to, tree from, tree expr, bool c_cast_p,
the standard conversion sequence to perform componentwise
conversion. */
conversion *part_conv = standard_conversion
- (TREE_TYPE (to), TREE_TYPE (from), NULL_TREE, c_cast_p, flags);
+ (TREE_TYPE (to), TREE_TYPE (from), NULL_TREE, c_cast_p, flags,
+ complain);
if (part_conv)
{
@@ -1799,7 +1799,7 @@ implicit_conversion (tree to, tree from, tree expr, bool c_cast_p,
if (TREE_CODE (to) == REFERENCE_TYPE)
conv = reference_binding (to, from, expr, c_cast_p, flags, complain);
else
- conv = standard_conversion (to, from, expr, c_cast_p, flags);
+ conv = standard_conversion (to, from, expr, c_cast_p, flags, complain);
if (conv)
return conv;