diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 54d2fac793f..9de3adb203d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-08-17 James E Wilson + + * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in + array size check. + 2005-08-17 David Edelsohn * config/rs6000/rs6000.md (leu): Convert to mode macro. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index a1fdce776a2..6d60fd09dc6 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -4383,7 +4383,7 @@ grokdeclarator (const struct c_declarator *declarator, if (TREE_CODE (type) == ARRAY_TYPE && COMPLETE_TYPE_P (type) - && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST + && TREE_CODE (TYPE_SIZE_UNIT (type)) == INTEGER_CST && TREE_OVERFLOW (TYPE_SIZE_UNIT (type))) { error ("size of array %qs is too large", name);