aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2004-06-07 19:49:31 +0000
committerJoseph Myers <jsm@polyomino.org.uk>2004-06-07 19:49:31 +0000
commit8be2fdd7c0b8d8b559e8750a61c862d1704bb42b (patch)
tree1699d379c45d66c5d2858418cbd9ca2aa76c63e9
parent1bb791088056dd4db56b4a1347ede02222831808 (diff)
PR c/14765
* c-parse.in (compstmt_primary_start): Set last_expr_type to NULL_TREE. testsuite: * gcc.dg/pr14765-1.c: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@82713 138bc75d-0d04-0410-961f-82ee72b054a4
-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 a277a4d9f9e..7a5323007be 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 9e776fa3e21..b89c19d80b6 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 cbb0c496b23..bd4048b83d1 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 00000000000..d2b341839ce
--- /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" } */
+}