diff options
author | Richard Henderson <rth@redhat.com> | 2003-04-11 15:44:23 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-04-11 15:44:23 -0700 |
commit | ca06cfe69f7f89314603d636b36adeadbb70b56a (patch) | |
tree | a01ada3c6afd82cc7fff3981f62928ada47eadea /gcc/expr.c | |
parent | d2d42a917c2a65769e78d4d430e47962b2d24ba5 (diff) | |
download | gcc-ca06cfe69f7f89314603d636b36adeadbb70b56a.zip gcc-ca06cfe69f7f89314603d636b36adeadbb70b56a.tar.gz gcc-ca06cfe69f7f89314603d636b36adeadbb70b56a.tar.bz2 |
re PR c++/10202 ([IA64] ICE in int_mode_for_mode, at stor-layout.c)
PR c++/10202
* expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
not COMPLETE_TYPE_P for re-invoking layout_decl.
* g++.dg/expr/incomplete1.C: New.
From-SVN: r65484
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -6712,7 +6712,8 @@ expand_expr (exp, target, tmode, modifier) case VAR_DECL: /* If a static var's type was incomplete when the decl was written, but the type is complete now, lay out the decl now. */ - if (DECL_SIZE (exp) == 0 && COMPLETE_TYPE_P (TREE_TYPE (exp)) + if (DECL_SIZE (exp) == 0 + && COMPLETE_OR_UNBOUND_ARRAY_TYPE_P (TREE_TYPE (exp)) && (TREE_STATIC (exp) || DECL_EXTERNAL (exp))) layout_decl (exp, 0); |