bootstrap failure current CVS in Ada

Daniel Berlin dberlin@dberlin.org
Wed Jan 5 03:27:00 GMT 2005



On Tue, 4 Jan 2005, Richard Kenner wrote:

>    The java problem is that Java doesn't create a block tree for functions,
>    it relies on the function lowering to do it.
>    Does Ada do the same?
>
> Ada *tries* to create a block tree for functions.  There's always the chance
> it's done incorrectly, but there's been no evidence of that so far.
>
Then it's not the same problem as the java problem.

We are trying to call gen_subprogram_die twice for the same decl, 
which shouldn't happen (it's callers are supposed to make sure we 
haven't already output it).
Let me know if this fixes it.
This is the only obvious caller that isn't doing such checking, and thus, 
could cause this problem.
If it doesn't fix it, i'll go try to build ada and debug it.
-------------- next part --------------
Index: dwarf2out.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/dwarf2out.c,v
retrieving revision 1.565
diff -u -p -r1.565 dwarf2out.c
--- dwarf2out.c	4 Jan 2005 01:54:25 -0000	1.565
+++ dwarf2out.c	5 Jan 2005 02:32:16 -0000
@@ -12550,7 +12561,7 @@ gen_decl_die (tree decl, dw_die_ref cont
 {
   tree origin;
 
-  if (DECL_P (decl) && DECL_IGNORED_P (decl))
+  if (DECL_P (decl) && (DECL_IGNORED_P (decl) || lookup_decl_die (decl)))
     return;
 
   switch (TREE_CODE (decl))


More information about the Gcc mailing list