diff options
author | Joseph Myers <jsm@polyomino.org.uk> | 2004-06-07 20:49:31 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2004-06-07 20:49:31 +0100 |
commit | 45b0c94cb45aefa68b1627f8a76a84bad2d5b717 (patch) | |
tree | 1699d379c45d66c5d2858418cbd9ca2aa76c63e9 /gcc | |
parent | 3743236e9c2259e46bec32221fcad4db67bfb22b (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-parse.in | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr14765-1.c | 11 |
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" } */ +} |