From 64efc969a1dbf0cc0a47ae59d5ffd033b2db00ba Mon Sep 17 00:00:00 2001 From: rms Date: Wed, 15 Jul 1992 18:39:27 +0000 Subject: [PATCH] (layout_record): Handle NULL dsize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@1592 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/stor-layout.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 7c4ef96..e220284 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -430,7 +430,12 @@ layout_record (rec) { register tree dsize = DECL_SIZE (field); - if (TREE_CODE (dsize) == INTEGER_CST) + /* This can happen when we have an invalid nested struct definition, + such as struct j { struct j { int i; } }. The error message is + printed in finish_struct. */ + if (dsize == 0) + /* Do nothing. */; + else if (TREE_CODE (dsize) == INTEGER_CST) const_size += TREE_INT_CST_LOW (dsize); else { -- 2.7.4