aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-13 20:03:23 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-13 20:03:23 +0000
commit4c969cecfc7d08e31e76517a62d29a9999cce32d (patch)
treec0f14cc93c36d20866e1911ddd1bc1d159a29542
parent02c089ec577bc949e976114b64aea84f04f3277b (diff)
PR c++/50059
* error.c (dump_expr): Handle MODIFY_EXPR properly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177735 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/error.c4
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/expr1.C9
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bc33588f9d3..2f2b3069b78 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2011-08-13 Jason Merrill <jason@redhat.com>
+ PR c++/50059
+ * error.c (dump_expr): Handle MODIFY_EXPR properly.
+
* decl.c (grok_reference_init): Handle constexpr here.
* call.c (initialize_reference): Not here.
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index d435bbe9fce..598ddf10e5d 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1868,6 +1868,10 @@ dump_expr (tree t, int flags)
case INIT_EXPR:
case MODIFY_EXPR:
+ dump_binary_op (assignment_operator_name_info[(int)NOP_EXPR].name,
+ t, flags);
+ break;
+
case PLUS_EXPR:
case MINUS_EXPR:
case MULT_EXPR:
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 65097a3abde..6a13f664b11 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2011-08-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50059
+ * g++.dg/diagnostic/expr1.C: New.
+
2011-08-12 David Li <davidxl@google.com>
* g++.dg/abi/vbase15.C: New test.
diff --git a/gcc/testsuite/g++.dg/diagnostic/expr1.C b/gcc/testsuite/g++.dg/diagnostic/expr1.C
new file mode 100644
index 00000000000..5651030d4ca
--- /dev/null
+++ b/gcc/testsuite/g++.dg/diagnostic/expr1.C
@@ -0,0 +1,9 @@
+// PR c++/50059
+
+int i;
+struct A { };
+void f(A);
+void g()
+{
+ f(i = 0); // { dg-error "i = 0" }
+}