OSDN Git Service

* decl.c (layout_var_decl): Call layout_decl even for variables
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Oct 2002 06:14:58 +0000 (06:14 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Oct 2002 06:14:58 +0000 (06:14 +0000)
whose type is an array with unspecified bounds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58149 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/decl.c

index e5c7356..8abfb73 100644 (file)
@@ -1,5 +1,8 @@
 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
 
+       * decl.c (layout_var_decl): Call layout_decl even for variables 
+       whose type is an array with unspecified bounds.
+
        PR c++/7176
        * lex.c (do_identifier): Add another option for the parsing
        parameter.
index 4401954..d122dfb 100644 (file)
@@ -7617,7 +7617,11 @@ layout_var_decl (decl)
      `extern X x' for some incomplete type `X'.)  */
   if (!DECL_EXTERNAL (decl))
     complete_type (type);
-  if (!DECL_SIZE (decl) && COMPLETE_TYPE_P (type))
+  if (!DECL_SIZE (decl) 
+      && (COMPLETE_TYPE_P (type)
+         || (TREE_CODE (type) == ARRAY_TYPE 
+             && !TYPE_DOMAIN (type)
+             && COMPLETE_TYPE_P (TREE_TYPE (type)))))
     layout_decl (decl, 0);
 
   if (!DECL_EXTERNAL (decl) && DECL_SIZE (decl) == NULL_TREE)