OSDN Git Service

PR c/14765
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jun 2004 19:49:31 +0000 (19:49 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jun 2004 19:49:31 +0000 (19:49 +0000)
* c-parse.in (compstmt_primary_start): Set last_expr_type to
NULL_TREE.

testsuite:
* gcc.dg/pr14765-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82713 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-parse.in
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr14765-1.c [new file with mode: 0644]

index a277a4d..7a53230 100644 (file)
@@ -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
index 9e776fa..b89c19d 100644 (file)
@@ -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;
                }
         ;
 
index cbb0c49..bd4048b 100644 (file)
@@ -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 (file)
index 0000000..d2b3418
--- /dev/null
@@ -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" } */
+}