From: Richard Henderson Date: Thu, 31 Jan 2008 00:05:19 +0000 (-0800) Subject: re PR c/34993 (ICE with attribute for array with unknown bound) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ae7b972a6fdb321691483655f6de98b02e83a46;p=gcc.git re PR c/34993 (ICE with attribute for array with unknown bound) PR c/34993 * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN for unbounded arrays. From-SVN: r131970 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 783fd914f50..2ecebda493e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-01-30 Richard Henderson + + PR c/34993 + * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN + for unbounded arrays. + 2008-01-30 Silvius Rus * config/i386/xmmintrin.h (_mm_prefetch): Add const to first arg. diff --git a/gcc/testsuite/gcc.c-torture/compile/pr34993.c b/gcc/testsuite/gcc.c-torture/compile/pr34993.c new file mode 100644 index 00000000000..ced4d5646c1 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr34993.c @@ -0,0 +1,5 @@ +/* PR c/34993 */ + +/* { dg-do compile } */ + +typedef int x[] __attribute((may_alias)); diff --git a/gcc/tree.c b/gcc/tree.c index f61e24bac09..043968cb95f 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -3701,8 +3701,9 @@ build_type_attribute_qual_variant (tree ttype, tree attribute, int quals) hashcode = type_hash_list (TYPE_ARG_TYPES (ntype), hashcode); break; case ARRAY_TYPE: - hashcode = iterative_hash_object (TYPE_HASH (TYPE_DOMAIN (ntype)), - hashcode); + if (TYPE_DOMAIN (ntype)) + hashcode = iterative_hash_object (TYPE_HASH (TYPE_DOMAIN (ntype)), + hashcode); break; case INTEGER_TYPE: hashcode = iterative_hash_object