optimization/4382: [3.2/3.3 regression] __builtin_{set,long}jmp with -O3 can crash the compiler

bangerth@dealii.org bangerth@dealii.org
Fri Dec 6 15:55:00 GMT 2002


Old Synopsis: __builtin_{set,long}jmp with -O3 can crash the compiler
New Synopsis: [3.2/3.3 regression] __builtin_{set,long}jmp with -O3 can crash the compiler

State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Fri Dec  6 15:55:04 2002
State-Changed-Why:
    Confirmed. I get with 3.2.2pre and 3.3pre:
    tmp/g> /home/bangerth/bin/gcc-3.2.2-pre/bin/gcc -c -O3 x.c
    x.c: In function `main':
    x.c:21: Internal compiler error in make_edges, at cfgbuild.c:402
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
    tmp/g>
    tmp/g>
    tmp/g>
    tmp/g> /home/bangerth/bin/gcc-3.3-pre/bin/gcc -c -O3 x.c
    x.c: In function `main':
    x.c:21: error: Wrong amount of branch edges after unconditional jump 0
    x.c:21: internal compiler error: verify_flow_info failed
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
    
    
    This used to work with 2.95, but failed with 3.0 first.
    
    The following slighty simpler code also crashes the compiler,
    but please don't anyone ask me whether this makes any
    sense any more:
    -------------------------------
    void jumpaway(int *ptr) {
      __builtin_longjmp(ptr,1);
    }
    
    int main(void) {
      __builtin_setjmp(0);
      jumpaway(0);
    }
    --------------------------

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4382



More information about the Gcc-prs mailing list