aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2004-12-22 18:43:44 +0000
committerRichard Henderson <rth@gcc.gnu.org>2004-12-22 10:43:44 -0800
commitba9ce455bb060016e01dfd1aecf97cbe51623ee9 (patch)
tree88cc7144cf166dd10665d6ef0d4d325acdd2d74f /gcc/tree-sra.c
parent821c5063f9ccc964cb109adf6ab64f75a2c617b4 (diff)
downloadgcc-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
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c3
1 files changed, 2 insertions, 1 deletions
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. */