This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 2.95.3 20001229 fails enable-checking bootstrap on mips-sgi-irix6.2


On Monday 01 January 2001 19:05, Franz Sirl wrote:
> On Saturday 30 December 2000 20:24, Kaveh R. Ghazi wrote:
> > > From: Bernd Schmidt <bernds@redhat.com>
> > >
> >  > On Sat, 30 Dec 2000, Kaveh R. Ghazi wrote:
> >  > > I tried bootstrapping 2.95.3 20001229 on mips-sgi-irix6.2 configured
> >  > >
> >  > > with --enable-checking=yes and got this in stage1:
> >  > >  > frame
> >  > >  > frame.c: In function `fde_split':
> >  > >  > frame.c:873: Internal compiler error at dwarf2out.c:3636
> >  > >  > make[4]: *** [libgcc2.a] Error 1
> >  > >
> >  > > I was able to reproduce this with a cross compiler from solaris2.7
> >  > > so you probably don't need a mips box to debug it.
> >  > >
> >  > > Here is the .i file, compile with:
> >  > > ./cc1 frame.i -quiet -dumpbase frame.c -g -g1 -O2 -version -o
> >  > > frame.s
> >  >
> >  > Thanks.  I'll try to reproduce it.  Is this a regression from 2.95.2?
> >  > Bernd
> >
> > Its not a regression, the same thing happens in 2.95.2.  But please
> > consider repairing it if the fix isn't too disruptive.
>
> Well looking over the mainline ChangeLog's, these look promising:
>
> 1999-11-25  Jason Merrill  <jason@casey.cygnus.com>
>
>         * dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
>         (splice_child_die): Handle moving a child DIE from the declaration
>         DIE of a class to its specification.
>         (gen_struct_or_union_type_die): Use 'complete' consistently.
>         (gen_decl_die): Generate the virtual context DIE first.
>         Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
>
> 1999-11-24  Jason Merrill  <jason@casey.cygnus.com>
>
>         * dwarf2out.c (free_AT, free_die): New fns.
>         (remove_children): Call them.
>         (output_line_info): Disable removal of duplicate notes.
>
>         Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO
> set.
>         * dwarf2out.c (gen_struct_or_union_type_die):
> TYPE_DECL_SUPPRESS_INFO means pretend the type isn't defined.
>         Don't defer emitting types.
>         (gen_type_die_for_member): New fn.
>         (gen_decl_die): Call it.
>         (splice_child_die): New fn.
>         (gen_member_die): Call it rather than generate duplicate dies.
>
>         Defer emitting information for the abstract instance of an inline
>         until we either inline it or emit an out-of-line copy.
>         * dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
>         from output_inline_function if DECL_ABSTRACT is also set.
>         (block_ultimate_origin): Likewise.
>         (gen_abstract_function): New fn.
>         (gen_decl_die, gen_inlined_subroutine_die): Call it.
>         (gen_subprogram_die):  An abstract instance is not a declaration
>         just because it doesn't match current_function_decl.  Don't abort
>         because DECL_DEFER_OUTPUT isn't set.  Do abort if a declaration
>         has an abstract origin.
>         * toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
>         abstract instance here.
>
> Kaveh, maybe you can try them?

Kaveh,

further browsing showed another candidate:

Thu Dec 16 02:56:25 1999  Zack Weinberg  <zack@bitmover.com>
 
        * tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.

Discussed here: http://gcc.gnu.org/ml/gcc-patches/1999-12n/msg00608.html

Franz.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]