diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-08-24 08:54:49 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2007-08-24 08:54:49 +0200 |
commit | affb3cb2002b1e238f0ae6188742c543934ea270 (patch) | |
tree | dd98437472465f7e06230b9c3d2e98132cad1ac9 /gcc/cp | |
parent | 14693275ea1f820b54c6ae9a46be627d267566ec (diff) | |
download | gcc-affb3cb2002b1e238f0ae6188742c543934ea270.zip gcc-affb3cb2002b1e238f0ae6188742c543934ea270.tar.gz gcc-affb3cb2002b1e238f0ae6188742c543934ea270.tar.bz2 |
re PR c++/32567 (ICE on invalid use of parameter pack)
PR c++/32567
* typeck.c (build_unary_op) <case PREINCREMENT_EXPR>: Return
error_mark_node right away if build_expr_type_conversion
returned it.
* g++.dg/parse/crash36.C: New test.
From-SVN: r127760
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e39c0a1..6e5a358 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,10 @@ 2007-08-24 Jakub Jelinek <jakub@redhat.com> + PR c++/32567 + * typeck.c (build_unary_op) <case PREINCREMENT_EXPR>: Return + error_mark_node right away if build_expr_type_conversion + returned it. + PR c++/32898 * name-lookup.c (set_decl_namespace): lookup_qualified_name failure is error_mark_node rather than NULL_TREE. diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index f019608..dce4d59 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -4259,6 +4259,8 @@ build_unary_op (enum tree_code code, tree xarg, int noconvert) errstring ="no post-decrement operator for type"; break; } + else if (arg == error_mark_node) + return error_mark_node; /* Report something read-only. */ |