summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-04 19:35:02 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2012-09-04 19:35:02 +0000
commitb8fd42a36767cc022dc8751c796dc6445407726b (patch)
treee73fbab07bf2629e125cd71f85977259ffc29c4e /gcc/cp
parent160f10e2ae8c011fef18621f9ae8f73948b1bc44 (diff)
downloadgcc-b8fd42a36767cc022dc8751c796dc6445407726b.tar.gz
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
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/decl.c2
2 files changed, 6 insertions, 0 deletions
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