From b51da998eee6b17630d7c9b1035cf47b77aa2af3 Mon Sep 17 00:00:00 2001 From: Ville Voutilainen Date: Thu, 13 Sep 2018 00:10:43 +0300 Subject: re PR c++/87093 (is_constructible (__is_constructible() instrinsic) explicitly instantiates conversion member function of source) PR c++/87093 gcc/cp PR c++/87093 * method.c (constructible_expr): We're in an unevaluated context in all cases, not just for class targets. testsuite/ PR c++/87093 * g++.dg/ext/is_constructible2.C: New. From-SVN: r264253 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/method.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/cp') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9201d67..ca8939d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2018-09-13 Ville Voutilainen + + PR c++/87093 + * method.c (constructible_expr): We're in an unevaluated context + in all cases, not just for class targets. + 2018-09-12 David Malcolm PR c++/85110 diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 0b208a8..d75dacb 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1144,11 +1144,11 @@ static tree constructible_expr (tree to, tree from) { tree expr; + cp_unevaluated cp_uneval_guard; if (CLASS_TYPE_P (to)) { tree ctype = to; vec *args = NULL; - cp_unevaluated cp_uneval_guard; if (!TYPE_REF_P (to)) to = cp_build_reference_type (to, /*rval*/false); tree ob = build_stub_object (to); -- cgit v1.1