* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Wed, 22 Dec 2004 18:43:44 +0000 (18:43 +0000)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 22 Dec 2004 18:43:44 +0000 (10:43 -0800)
From-SVN: r92494

gcc/ChangeLog
gcc/tree-sra.c

index 85699822a08d29e8405b732ddb36d426b7b8063a..9d04f8bdf3ba5ab5c2dd321ad3b31905fae16bb7 100644 (file)
@@ -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
index 04733e3267755e2ad2a2f5f6f96d36430ec62e14..1c1739b18b21ada95899abccf499152ec8bcb210 100644 (file)
@@ -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.  */