diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2004-12-22 18:43:44 +0000 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-12-22 10:43:44 -0800 |
commit | ba9ce455bb060016e01dfd1aecf97cbe51623ee9 (patch) | |
tree | 88cc7144cf166dd10665d6ef0d4d325acdd2d74f | |
parent | 821c5063f9ccc964cb109adf6ab64f75a2c617b4 (diff) | |
download | gcc-ba9ce455bb060016e01dfd1aecf97cbe51623ee9.zip gcc-ba9ce455bb060016e01dfd1aecf97cbe51623ee9.tar.gz gcc-ba9ce455bb060016e01dfd1aecf97cbe51623ee9.tar.bz2 |
* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
From-SVN: r92494
-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. */ |