From 09d9f9fa0014fa92d468b31595a2c7803749e6e8 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 2 Feb 2008 12:42:10 -0800 Subject: [PATCH] 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: r132073 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/gcc.c-torture/compile/pr34993.c | 5 +++++ gcc/tree.c | 5 +++-- 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr34993.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f20a1d463199..902470a04958 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-02-02 Richard Henderson + + PR c/34993 + * tree.c (build_type_attribute_qual_variant): Skip TYPE_DOMAIN + for unbounded arrays. + 2008-02-02 Richard Sandiford PR target/34981 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 000000000000..ced4d5646c16 --- /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 f4beaf021ebe..21ab1cbee59f 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -3394,8 +3394,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 -- 2.47.2