diff options
author | Volker Reichelt <reichelt@igpm.rwth-aachen.de> | 2006-04-21 23:02:26 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2006-04-21 23:02:26 +0000 |
commit | f01da1a506d37f69913d0a998bd23aa16f63d8a1 (patch) | |
tree | 89f48631e3ba1bb264820d5e730db453e0fb2553 /gcc | |
parent | 5d5e98dc75c0e81e938501bb06622023c7eb9e3b (diff) | |
download | gcc-f01da1a506d37f69913d0a998bd23aa16f63d8a1.zip gcc-f01da1a506d37f69913d0a998bd23aa16f63d8a1.tar.gz gcc-f01da1a506d37f69913d0a998bd23aa16f63d8a1.tar.bz2 |
re PR c/25875 (ICE: segmentation fault)
PR c/25875
* c-typeck.c (digest_init): Robustify.
* gcc.dg/init-bad-4.c: New test.
From-SVN: r113153
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/c-typeck.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/init-bad-4.c | 5 |
4 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b2840b6..b506224 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + PR c/25875 + * c-typeck.c (digest_init): Robustify. + * c-typeck.c (pop_init_level): Simplify. 2006-04-21 Steve Ellcey <sje@cup.hp.com> diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 73c120d..21fe125 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -4495,6 +4495,7 @@ digest_init (tree type, tree init, bool strict_string, int require_constant) tree inside_init = init; if (type == error_mark_node + || !init || init == error_mark_node || TREE_TYPE (init) == error_mark_node) return error_mark_node; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 544ec0d..6cdaade 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c/25875 + * gcc.dg/init-bad-4.c: New test. + 2006-04-21 Paul Brook <paul@codesourcery.com> * gcc.dg/arm-vfp1.c: Skip on iWMMXt cpus. diff --git a/gcc/testsuite/gcc.dg/init-bad-4.c b/gcc/testsuite/gcc.dg/init-bad-4.c new file mode 100644 index 0000000..3f03002 --- /dev/null +++ b/gcc/testsuite/gcc.dg/init-bad-4.c @@ -0,0 +1,5 @@ +/* PR c/25875 */ +/* Origin: Richard Guenther <rguenth@gcc.gnu.org> */ +/* { dg-do compile } */ + +struct A { } a = (struct A) {{ (X)0 }}; /* { dg-error "no members|extra brace|near|undeclared|constant|compound" } */ |