From fb38d8d2e348ab736ba067a81396b8f1e4638cb5 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 8 Dec 2008 19:04:58 +0100 Subject: [PATCH] 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 --- gcc/ChangeLog | 3 +++ gcc/c-pretty-print.c | 6 ++++++ gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/gcc.dg/pr35443.c | 9 +++++++++ 4 files changed, 21 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/pr35443.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a35cf450f4..b063d4a6db9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2008-12-08 Jakub Jelinek + 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 cc366791cfd..8676205052b 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 84fd6210dbf..d24f5794646 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2008-12-08 Jakub Jelinek + 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 00000000000..5dfc299e796 --- /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" } */ +} -- 2.30.2