aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1997-02-12 12:39:27 -0800
committerJim Wilson <wilson@gcc.gnu.org>1997-02-12 12:39:27 -0800
commitff1ff0565bbd07dd0b4f139001f8a1b5c2d6328d (patch)
tree63101dd77f91c029705ac97f529c5db60f988195
parente9f32eb5034600b035f2d40e1723432cff8b74ba (diff)
downloadgcc-ff1ff0565bbd07dd0b4f139001f8a1b5c2d6328d.zip
gcc-ff1ff0565bbd07dd0b4f139001f8a1b5c2d6328d.tar.gz
gcc-ff1ff0565bbd07dd0b4f139001f8a1b5c2d6328d.tar.bz2
(output_type): Do early exit only if TYPE_CONTEXT is NULL or if TYPE_CONTEXT is another type (e.g.
(output_type): Do early exit only if TYPE_CONTEXT is NULL or if TYPE_CONTEXT is another type (e.g. a nested type). From-SVN: r13630
-rw-r--r--gcc/dwarfout.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index 8c5ea39..e5aa747 100644
--- a/gcc/dwarfout.c
+++ b/gcc/dwarfout.c
@@ -4248,7 +4248,10 @@ output_type (type, containing_scope)
can safely generate correct Dwarf descriptions for these file-
scope tagged types. */
- if (TYPE_SIZE (type) == 0 && !finalizing)
+ if (TYPE_SIZE (type) == 0
+ && (TYPE_CONTEXT (type) == NULL
+ || TREE_CODE_CLASS (TREE_CODE (TYPE_CONTEXT (type))) == 't')
+ && !finalizing)
return; /* EARLY EXIT! Avoid setting TREE_ASM_WRITTEN. */
/* Prevent infinite recursion in cases where the type of some