aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-12-08 19:04:58 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2008-12-08 19:04:58 +0100
commitfb38d8d2e348ab736ba067a81396b8f1e4638cb5 (patch)
treea38f2ce0fd0858ce630734d4fd9b46f6e071aabe /gcc
parent4e37eb44cee16c38d36802f4748bb175be2aadb8 (diff)
downloadgcc-fb38d8d2e348ab736ba067a81396b8f1e4638cb5.zip
gcc-fb38d8d2e348ab736ba067a81396b8f1e4638cb5.tar.gz
gcc-fb38d8d2e348ab736ba067a81396b8f1e4638cb5.tar.bz2
re PR c/35443 (Completely broken diagnostic with bind_expr)
PR c/35443 * c-pretty-print.c (pp_c_expression): Handle BIND_EXPR. * gcc.dg/pr35443.c: New test. From-SVN: r142559
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/c-pretty-print.c6
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gcc.dg/pr35443.c9
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4a35cf4..b063d4a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/c-pretty-print.c b/gcc/c-pretty-print.c
index cc36679..8676205 100644
--- a/gcc/c-pretty-print.c
+++ b/gcc/c-pretty-print.c
@@ -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;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 84fd621..d24f579 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..5dfc299
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr35443.c
@@ -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" } */
+}