diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-06-11 08:30:55 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2008-06-11 08:30:55 +0200 |
commit | 9de0e916168eb3d8853c02803ce15736164338f4 (patch) | |
tree | a0a742776c1c2e10cdba99f222d1055da8ca5ce5 | |
parent | 976e44e324f254780ea9b09347ea0e970e40691c (diff) | |
download | gcc-9de0e916168eb3d8853c02803ce15736164338f4.zip gcc-9de0e916168eb3d8853c02803ce15736164338f4.tar.gz gcc-9de0e916168eb3d8853c02803ce15736164338f4.tar.bz2 |
re PR c++/36408 (ICE with statement expression in template)
PR c++/36408
* semantics.c (stmt_expr_value_expr): Don't crash on empty
STATEMENT_LIST.
From-SVN: r136651
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 74ae4ae..897a54e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2008-06-09 Jakub Jelinek <jakub@redhat.com> + + PR c++/36408 + * semantics.c (stmt_expr_value_expr): Don't crash on empty + STATEMENT_LIST. + 2008-06-08 Paolo Carlini <paolo.carlini@oracle.com> PR c++/35242 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 83d2339..f39b8d1 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1778,7 +1778,7 @@ stmt_expr_value_expr (tree stmt_expr) if (TREE_CODE (t) == BIND_EXPR) t = BIND_EXPR_BODY (t); - if (TREE_CODE (t) == STATEMENT_LIST) + if (TREE_CODE (t) == STATEMENT_LIST && STATEMENT_LIST_TAIL (t)) t = STATEMENT_LIST_TAIL (t)->stmt; if (TREE_CODE (t) == EXPR_STMT) |