aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <andrew.pinski@caviumnetworks.com>2010-03-04 11:59:19 -0800
committerAndrew Pinski <pinskia@gcc.gnu.org>2010-03-04 11:59:19 -0800
commit3e23fb2e8b8e1dee5dd24f750548000846830d38 (patch)
treee17365eec2145ca93270cb2d4c98c91ba9a0b76e /gcc
parent76f76cd0e5b4937539b950168c35e4dfae85ddcf (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-decl.c3
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/compound-literal-1.c9
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 "" } */
+}
+