diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2004-10-25 13:27:32 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2004-10-25 06:27:32 -0700 |
commit | 4c7c0c70e3aecf557e968d3d0941e21f1f875f83 (patch) | |
tree | 3ea37435d5af3d291b57b64a93db96a445576a2b /gcc/tree.c | |
parent | d87bdb13309e3f691fe0570c16cdcbdb6991d55b (diff) | |
download | gcc-4c7c0c70e3aecf557e968d3d0941e21f1f875f83.zip gcc-4c7c0c70e3aecf557e968d3d0941e21f1f875f83.tar.gz gcc-4c7c0c70e3aecf557e968d3d0941e21f1f875f83.tar.bz2 |
re PR middle-end/17407 (ICE in int_mode_for_mode)
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.
From-SVN: r89533
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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); |