aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-15 18:39:52 +0000
committerRichard Stallman <rms@gnu.org>1992-07-15 18:39:52 +0000
commit8d7bbe5f87bd33d7d4c03376767c8856ca266e50 (patch)
treec94d1dccb26dfce1b0e5106fdd3c68f073c0a1d9 /gcc
parente0b382b17ae011b19fa2cda8201e2588a910632e (diff)
downloadgcc-8d7bbe5f87bd33d7d4c03376767c8856ca266e50.zip
gcc-8d7bbe5f87bd33d7d4c03376767c8856ca266e50.tar.gz
gcc-8d7bbe5f87bd33d7d4c03376767c8856ca266e50.tar.bz2
(finish_struct): Handle nested struct redefinitions.
From-SVN: r1593
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-decl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index bbcec2e..5a730e8 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -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));