[Bug rtl-optimization/33676] libgfortran bootstrap failure: selected_int_kind.f90:22: Segmentation fault, wrong code with -fomit-frame-pointer

ebotcazou at libertysurf dot fr gcc-bugzilla@gcc.gnu.org
Fri Oct 12 12:56:00 GMT 2007



------- Comment #23 from ebotcazou at libertysurf dot fr  2007-10-12 12:56 -------
Subject: Re:  libgfortran bootstrap failure: selected_int_kind.f90:22: 
Segmentation fault, wrong code with -fomit-frame-pointer

> 2007-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
>
>     PR middle-end/33676
>     * global.c (build_insn_chain): Include insn that occur between
>     basic blocks.

Who approved this patch?

> However, the reload_insn_chain actually needs the insns that appear
> between basic blocks, in particular the labels in front of branch
> tables.  I added code here to check for insns that may be in front of a
> basic block after scanning that block.
>
> There are a lot of ways that I could have done this, for instance, I
> could have just written in terms of the PREV_INSN as the old code was.
> I think that in doing it the way that i have done it, it is obvious what
> needs to be done if someone really does get rid of the branch tables
> between the blocks.

Sure, but the code in build_insn_chain is now more convoluted than in the 
original version (and twice as big).  And, please, fix the formatting.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33676



More information about the Gcc-bugs mailing list