re PR c/35443 (Completely broken diagnostic with bind_expr)
authorJakub Jelinek <jakub@redhat.com>
Mon, 8 Dec 2008 18:04:58 +0000 (19:04 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 8 Dec 2008 18:04:58 +0000 (19:04 +0100)
PR c/35443
* c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.

* gcc.dg/pr35443.c: New test.

From-SVN: r142559

gcc/ChangeLog
gcc/c-pretty-print.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr35443.c [new file with mode: 0644]

index 4a35cf450f44eb2a4bdc865429bf5a2e84cc9ae4..b063d4a6db9cc950c1f26565dbce7fde5ed5a1a7 100644 (file)
@@ -1,5 +1,8 @@
 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
 
+       PR c/35443
+       * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR.
+
        PR c/35442
        * c-pretty-print.c (pp_c_cast_expression, pp_c_expression): Handle
        VIEW_CONVERT_EXPR the same as CASE_CONVERT.
index cc366791cfdc2d77ee0d2c53634db8cde8e016bc..8676205052b3fe70ca266e53e2dfbab6dff5f7ee 100644 (file)
@@ -2103,6 +2103,12 @@ pp_c_expression (c_pretty_printer *pp, tree e)
       pp_postfix_expression (pp, TREE_OPERAND (e, 1));
       break;
 
+    case BIND_EXPR:
+      /* We don't yet have a way of dumping statements in a
+         human-readable format.  */
+      pp_string (pp, "({...})");
+      break;
+
     default:
       pp_unsupported_tree (pp, e);
       break;
index 84fd6210dbff49364110740380d2545675821ea7..d24f5794646d984ddd12eca5661e9ce4ee82f5ec 100644 (file)
@@ -1,5 +1,8 @@
 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
 
+       PR c/35443
+       * gcc.dg/pr35443.c: New test.
+
        PR c/35442
        * gcc.dg/pr35442.c: New test.
 
diff --git a/gcc/testsuite/gcc.dg/pr35443.c b/gcc/testsuite/gcc.dg/pr35443.c
new file mode 100644 (file)
index 0000000..5dfc299
--- /dev/null
@@ -0,0 +1,9 @@
+/* PR c/35443 */
+/* { dg-options "" } */
+/* { dg-bogus "not supported by" "" { target *-*-* } 0 } */
+
+void
+foo ()
+{
+  ({ int i; i; })();   /* { dg-error "is not a function" } */
+}