aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <jsm@polyomino.org.uk>2004-06-07 20:49:31 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2004-06-07 20:49:31 +0100
commit45b0c94cb45aefa68b1627f8a76a84bad2d5b717 (patch)
tree1699d379c45d66c5d2858418cbd9ca2aa76c63e9 /gcc
parent3743236e9c2259e46bec32221fcad4db67bfb22b (diff)
downloadgcc-45b0c94cb45aefa68b1627f8a76a84bad2d5b717.zip
gcc-45b0c94cb45aefa68b1627f8a76a84bad2d5b717.tar.gz
gcc-45b0c94cb45aefa68b1627f8a76a84bad2d5b717.tar.bz2
re PR c/14765 (ice-on-invalid-code, ICE while compiling ({}) expression)
PR c/14765 * c-parse.in (compstmt_primary_start): Set last_expr_type to NULL_TREE. testsuite: * gcc.dg/pr14765-1.c: New test. From-SVN: r82713
Diffstat (limited to 'gcc')
-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" } */
+}