diff options
author | Dodji Seketeli <dodji@redhat.com> | 2009-11-29 19:19:06 +0000 |
---|---|---|
committer | Dodji Seketeli <dodji@gcc.gnu.org> | 2009-11-29 20:19:06 +0100 |
commit | 489df541a7b0fc6c5e543a1da3d97ab80a090ae1 (patch) | |
tree | 3632d82bf55ed91d3882acab5dbdf5de9aee1a6e | |
parent | 0c31c577ac77cb145171d91246867efb6d058fbf (diff) | |
download | gcc-489df541a7b0fc6c5e543a1da3d97ab80a090ae1.zip gcc-489df541a7b0fc6c5e543a1da3d97ab80a090ae1.tar.gz gcc-489df541a7b0fc6c5e543a1da3d97ab80a090ae1.tar.bz2 |
Really fix PR c++/36408
gcc/cp/ChangeLog:
PR c++/36408
* semantics.c (empty_expr_stmt_p): Handle void_zero_node and fix
bad indentation.
* pt.c (tsubst_copy_and_build): Fix typo.
From-SVN: r154742
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/pt.c | 4 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 17 |
3 files changed, 19 insertions, 9 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ab252ea..57ce3cd 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2009-11-29 Dodji Seketeli <dodji@redhat.com> + + PR c++/36408 + * semantics.c (empty_expr_stmt_p): Handle void_zero_node and fix + bad indentation. + * pt.c (tsubst_copy_and_build): Fix typo. + 2009-11-29 Jan Hubicka <jh@suse.cz> * optimize.c (maybe_clone_body): Emit thunks associated to alias. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index eb1cdd3..dd86cee 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -12546,8 +12546,8 @@ tsubst_copy_and_build (tree t, /* If the resulting list of expression statement is empty, fold it further into void_zero_node. */ - if (empty_expr_stmt_p (cur_stmt_expr)) - cur_stmt_expr = void_zero_node; + if (empty_expr_stmt_p (stmt_expr)) + stmt_expr = void_zero_node; return stmt_expr; } diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 0a1a547..4a9bee7 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1855,6 +1855,9 @@ empty_expr_stmt_p (tree expr_stmt) { tree body = NULL_TREE; + if (expr_stmt == void_zero_node) + return true; + if (expr_stmt) { if (TREE_CODE (expr_stmt) == EXPR_STMT) @@ -1863,13 +1866,13 @@ empty_expr_stmt_p (tree expr_stmt) body = expr_stmt; } - if (body) - { - if (TREE_CODE (body) == STATEMENT_LIST) - return tsi_end_p (tsi_start (body)); - else - return empty_expr_stmt_p (body); - } + if (body) + { + if (TREE_CODE (body) == STATEMENT_LIST) + return tsi_end_p (tsi_start (body)); + else + return empty_expr_stmt_p (body); + } return false; } |