aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-parse.in1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/pr14765-1.c11
4 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a277a4d..7a53230 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-07 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/14765
+ * c-parse.in (compstmt_primary_start): Set last_expr_type to
+ NULL_TREE.
+
2004-06-07 Mark Mitchell <mark@codesourcery.com>
PR c++/15815
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 9e776fa..b89c19d 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -2123,6 +2123,7 @@ compstmt_primary_start:
keep_next_level ();
compstmt_count++;
$$ = add_stmt (build_stmt (COMPOUND_STMT, last_tree));
+ last_expr_type = NULL_TREE;
}
;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cbb0c49..bd4048b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-07 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ PR c/14765
+ * gcc.dg/pr14765-1.c: New test.
+
2004-06-07 Roger Sayle <roger@eyesopen.com>
PR c/14649
diff --git a/gcc/testsuite/gcc.dg/pr14765-1.c b/gcc/testsuite/gcc.dg/pr14765-1.c
new file mode 100644
index 0000000..d2b3418
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr14765-1.c
@@ -0,0 +1,11 @@
+/* Empty statement expressions should get void type. Bug 14765 from
+ Serge Belyshev <belyshev@lubercy.com>. */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+int a;
+void fun ()
+{
+ a = 0;
+ a = ({}); /* { dg-error "not ignored" "void stmt expr" } */
+}