aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-10-25 22:14:26 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-10-25 22:14:26 +0000
commit6ea685b8571d933d66f45a5ed99f4b93367b0a44 (patch)
tree133b8d4eb72fce5d2ea80e36c46069fc9f35f1d1 /gcc/dwarf2out.c
parent55504c7cb6141da67fbc4fc348e3d6432fa77e7d (diff)
downloadgcc-6ea685b8571d933d66f45a5ed99f4b93367b0a44.zip
gcc-6ea685b8571d933d66f45a5ed99f4b93367b0a44.tar.gz
gcc-6ea685b8571d933d66f45a5ed99f4b93367b0a44.tar.bz2
dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info for the parent type.
* dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily suppress debug info for the parent type. From-SVN: r180456
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index e328201..8d5a9f0 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -15415,7 +15415,11 @@ add_gnat_descriptive_type_attribute (dw_die_ref die, tree type,
dtype_die = lookup_type_die (dtype);
if (!dtype_die)
{
+ /* The descriptive type indirectly references TYPE if this is also the
+ case for TYPE itself. Do not deal with the circularity here. */
+ TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 1;
gen_type_die (dtype, context_die);
+ TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 0;
dtype_die = lookup_type_die (dtype);
gcc_assert (dtype_die);
}