aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-25 13:27:32 +0000
committerAndrew Pinski <pinskia@physics.uc.edu>2004-10-25 13:27:32 +0000
commitceb3b6dceb52a3a755085fc6d165bb71f9a6b034 (patch)
tree3ea37435d5af3d291b57b64a93db96a445576a2b /gcc/tree.c
parent7387c49efbd872c2d580f3e30a799940f6b1cd46 (diff)
2004-10-25 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/17407 * c-decl.c (grokdeclarator) <case cdk_array>: Remove the call layout_type as it is already done by build_array_type. * tree.c (build_array_type): Layout the type even 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu> PR c++/18121 * decl.c (grokdeclarator) <case cdk_array>: Remove the call layout_type as it is already done by create_array_type_for_decl. 2004-10-25 Andrew Pinski <pinskia@physics.uc.edu> PR middle-end/17407 * gcc.c-torture/compile/pr17407.c: New test. PR c++/18121 * g++.dg/template/array8.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@89533 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index b132571b5f3..18dec5ea730 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4333,9 +4333,12 @@ build_array_type (tree elt_type, tree index_type)
t = make_node (ARRAY_TYPE);
TREE_TYPE (t) = elt_type;
TYPE_DOMAIN (t) = index_type;
-
+
if (index_type == 0)
- return t;
+ {
+ layout_type (t);
+ return t;
+ }
hashcode = iterative_hash_object (TYPE_HASH (elt_type), hashcode);
hashcode = iterative_hash_object (TYPE_HASH (index_type), hashcode);