diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-10 19:12:32 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2016-02-10 19:12:32 +0000 |
commit | 703eb775c003662dd6bd0aba448b33c5efed823a (patch) | |
tree | 9da088c90297b614b71f8123a6d2364a9718a18e /gcc/cp/call.c | |
parent | be7c31e97279de9e4311a781a9a7dab16f503b57 (diff) | |
download | gcc-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.c | 10 |
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; |