re PR c++/50059 ([C++0x] Broken error message with __builtin_remquo & constexpr)
authorJason Merrill <jason@redhat.com>
Sat, 13 Aug 2011 20:03:23 +0000 (16:03 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Sat, 13 Aug 2011 20:03:23 +0000 (16:03 -0400)
PR c++/50059
* error.c (dump_expr): Handle MODIFY_EXPR properly.

From-SVN: r177735

gcc/cp/ChangeLog
gcc/cp/error.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/diagnostic/expr1.C [new file with mode: 0644]

index bc33588f9d393e5e440c6a02080551fe892e6752..2f2b3069b7801ec21ba6c23df95ba65efe2bbef7 100644 (file)
@@ -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.
 
index d435bbe9fceb1120388a6248a16a7b4afca881e2..598ddf10e5de7d28e357cb461ad386ab8a4b8c4f 100644 (file)
@@ -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:
index 65097a3abdee496031671e71e66c2a5e0791f369..6a13f664b11518d9da7433a3d30b5f195c320a41 100644 (file)
@@ -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 (file)
index 0000000..5651030
--- /dev/null
@@ -0,0 +1,9 @@
+// PR c++/50059
+
+int i;
+struct A { };
+void f(A);
+void g()
+{
+  f(i = 0);                    // { dg-error "i = 0" }
+}