(finish_struct): Handle nested struct redefinitions.
authorRichard Stallman <rms@gnu.org>
Wed, 15 Jul 1992 18:39:52 +0000 (18:39 +0000)
committerRichard Stallman <rms@gnu.org>
Wed, 15 Jul 1992 18:39:52 +0000 (18:39 +0000)
From-SVN: r1593

gcc/c-decl.c

index bbcec2ea5c42811273ad09fdd887e74b51acb56b..5a730e81d583c76b82906a4106eb4d1f616833e3 100644 (file)
@@ -4664,6 +4664,11 @@ finish_struct (t, fieldlist)
       if (C_DECL_VARIABLE_SIZE (x))
        C_TYPE_VARIABLE_SIZE (t) = 1;
 
+      /* Detect invalid nested redefinition.  */
+      if (TREE_TYPE (x) == t)
+       error ("nested redefinition of `%s'",
+              IDENTIFIER_POINTER (TYPE_NAME (t)));
+
       /* Detect invalid bit-field size.  */
       if (DECL_INITIAL (x))
        STRIP_NOPS (DECL_INITIAL (x));