diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/tree-sra.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8569982..9d04f8b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * tree-sra.c (type_can_be_decomposed_p): Reject variable sized types. + 2004-12-22 Mark Mitchell <mark@codesourcery.com> * Makefile.in (install-common): Remove special-case code for when diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 04733e3..1c1739b 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -184,7 +184,8 @@ type_can_be_decomposed_p (tree type) return false; /* The type must have a definite nonzero size. */ - if (TYPE_SIZE (type) == NULL || integer_zerop (TYPE_SIZE (type))) + if (TYPE_SIZE (type) == NULL || TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST + || integer_zerop (TYPE_SIZE (type))) goto fail; /* The type must be a non-union aggregate. */ |