From b8fd42a36767cc022dc8751c796dc6445407726b Mon Sep 17 00:00:00 2001 From: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Tue, 4 Sep 2012 19:35:02 +0000 Subject: PR c++/54198 * decl.c (check_default_argument): Set cp_unevaluated_operand around call to perform_implicit_conversion_flags. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190949 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/decl.c | 2 ++ 2 files changed, 6 insertions(+) (limited to 'gcc/cp') diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 47498cb618a..9148bbe0771 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2012-09-04 Jason Merrill <jason@redhat.com> + PR c++/54198 + * decl.c (check_default_argument): Set cp_unevaluated_operand + around call to perform_implicit_conversion_flags. + PR c++/54437 PR c++/51213 * pt.c (fn_type_unification): Call coerce_template_parms before diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 8b94e26ac0c..8024373f09b 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -10575,8 +10575,10 @@ check_default_argument (tree decl, tree arg) A default argument expression is implicitly converted to the parameter type. */ + ++cp_unevaluated_operand; perform_implicit_conversion_flags (decl_type, arg, tf_warning_or_error, LOOKUP_NORMAL); + --cp_unevaluated_operand; if (warn_zero_as_null_pointer_constant && c_inhibit_evaluation_warnings == 0 -- cgit v1.2.1