diff options
author | Andrew Pinski <andrew.pinski@caviumnetworks.com> | 2010-03-04 11:59:19 -0800 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2010-03-04 11:59:19 -0800 |
commit | 3e23fb2e8b8e1dee5dd24f750548000846830d38 (patch) | |
tree | e17365eec2145ca93270cb2d4c98c91ba9a0b76e | |
parent | 76f76cd0e5b4937539b950168c35e4dfae85ddcf (diff) | |
download | gcc-3e23fb2e8b8e1dee5dd24f750548000846830d38.zip gcc-3e23fb2e8b8e1dee5dd24f750548000846830d38.tar.gz gcc-3e23fb2e8b8e1dee5dd24f750548000846830d38.tar.bz2 |
re PR c/43248 (ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1233)
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43248
* c-decl.c (build_compound_literal): Return early if init is
an error_mark_node.
2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
PR c/43248
* gcc.dg/compound-literal-1.c: New testcase.
From-SVN: r157233
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/c-decl.c | 3 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/compound-literal-1.c | 9 |
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1397418..dc260e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com> + + PR c/43248 + * c-decl.c (build_compound_literal): Return early if init is + an error_mark_node. + 2010-03-04 Martin Jambor <mjambor@suse.cz> PR tree-optimization/43164 diff --git a/gcc/c-decl.c b/gcc/c-decl.c index f0b6463..87fb19a 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -4462,7 +4462,8 @@ build_compound_literal (location_t loc, tree type, tree init, bool non_const) tree complit; tree stmt; - if (type == error_mark_node) + if (type == error_mark_node + || init == error_mark_node) return error_mark_node; decl = build_decl (loc, VAR_DECL, NULL_TREE, type); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ca2b875..57e2fa6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com> + + PR c/43248 + * gcc.dg/compound-literal-1.c: New testcase. + 2010-03-04 Martin Jambor <mjambor@suse.cz> PR tree-optimization/43164 diff --git a/gcc/testsuite/gcc.dg/compound-literal-1.c b/gcc/testsuite/gcc.dg/compound-literal-1.c new file mode 100644 index 0000000..6c644d4 --- /dev/null +++ b/gcc/testsuite/gcc.dg/compound-literal-1.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ + +/* PR c/43248 */ + +int foo(__SIZE_TYPE__ i) +{ + i ? : (void *){}; /* { dg-error "" } */ +} + |