https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68146

--- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Reduced test case

        SUBROUTINE CJYVB(V,Z,VM,CBJ,CDJ,CBY,CDY)
        IMPLICIT DOUBLE PRECISION (A,B,G,O-Y)
        IMPLICIT COMPLEX*16 (C,Z)
        DIMENSION CBJ(0:*),CDJ(0:*),CBY(0:*),CDY(0:*)
        N=INT(V)
           CALL GAMMA2(VG,GA)
        DO 65 K=1,N
           CBY(K)=CYY
65      CONTINUE
        CDJ(0)=V0/Z*CBJ(0)-CBJ(1)
        DO 70 K=1,N
70         CDJ(K)=-(K+V0)/Z*CBJ(K)+CBJ(K-1)
        END

This appeared between revisions r228586 (2015-10-07, compiles) and r228678
(2015-10-10, ICE).

Backtrace for the reduced test with r229438

Program received signal SIGSEGV, Segmentation fault.
gimple_stmt_nonnegative_warnv_p (stmt=<optimized out>,
strict_overflow_p=<optimized out>, depth=<optimized out>)
    at ../../_clean/gcc/gimple-fold.c:6266
warning: Source file is more recent than executable.
6266        {
(gdb) bt
#0  gimple_stmt_nonnegative_warnv_p (stmt=<optimized out>,
strict_overflow_p=<optimized out>, depth=<optimized out>)
    at ../../_clean/gcc/gimple-fold.c:6266
#1  0x0000000100679375 in tree_expr_nonnegative_p (t=<optimized out>) at
../../_clean/gcc/fold-const.c:13164
#2  0x00000001001d2f18 in generic_simplify (loc=<optimized out>,
code=<optimized out>, type=<optimized out>, op0=<optimized out>)
    at generic-match.c:7964
#3  0x0000000100688e20 in fold_unary_loc (loc=<optimized out>, code=<optimized
out>, type=<optimized out>, op0=<optimized out>)
    at ../../_clean/gcc/fold-const.c:7598
#4  0x000000010068a40a in fold_build1_stat_loc (loc=<optimized out>,
code=<optimized out>, type=<optimized out>, op0=<optimized out>)
    at ../../_clean/gcc/fold-const.c:12269
#5  0x000000010099cfbf in gimplify_build1 (gsi=<optimized out>, code=<optimized
out>, type=<optimized out>, a=<optimized out>)
    at ../../_clean/gcc/tree-cfg.c:8495
#6  0x00000001009ad1e9 in tree_lower_complex () at
../../_clean/gcc/tree-complex.c:1126
#7  0x00000001009ae242 in ?? () at ../../_clean/gcc/tree-complex.c:1736
#8  0x000000010089c091 in execute_one_pass (pass=<optimized out>) at
../../_clean/gcc/passes.c:2344
#9  0x000000010089c57e in execute_pass_list_1 (pass=<optimized out>) at
../../_clean/gcc/passes.c:2397
#10 0x000000010089c590 in execute_pass_list_1 (pass=<optimized out>) at
../../_clean/gcc/passes.c:2398
#11 0x000000010089c5d9 in execute_pass_list (fn=<optimized out>,
pass=<optimized out>) at ../../_clean/gcc/passes.c:2408
#12 0x0000000100564017 in cgraph_node::expand (this=<optimized out>) at
../../_clean/gcc/cgraphunit.c:1983
#13 0x000000010056561c in symbol_table::compile (this=<optimized out>) at
../../_clean/gcc/cgraphunit.c:2119
#14 0x0000000100567574 in symbol_table::finalize_compilation_unit
(this=<optimized out>) at ../../_clean/gcc/cgraphunit.c:2536
#15 0x0000000100965f3e in compile_file () at ../../_clean/gcc/toplev.c:508
#16 0x0000000100d536ac in ?? ()
#17 0x0000000100d55069 in main (argc=3, argv=0x7fff5fbff2d8) at
../../_clean/gcc/main.c:39

Reply via email to