[Bug fortran/89904] [9 regression] ICE in gfortran starting with r270045

tkoenig at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Apr 1 23:17:00 GMT 2019


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

Thomas Koenig <tkoenig at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tkoenig at gcc dot gnu.org

--- Comment #10 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
(In reply to anlauf from comment #9)

> If you start from the full testcase, and remove - starting from the end -
> block for block: first module m, then subroutine f, then subroutine e,
> then subroutine d, what does trigger the ICE?

This segfaults on gcc135 (POWER9):

[tkoenig@gcc135 ~]$ cat a.f90
recursive subroutine e
  k = transfer (transfer (e, e), 1)
end
[tkoenig@gcc135 ~]$ gfortran -O a.f90
Im Durchlauf GIMPLE: ccp
a.f90:3:0:

    3 | end
      | 
interner Compiler-Fehler: in fold_convert_loc, bei fold-const.c:2552
0x10648633 fold_convert_loc(unsigned int, tree_node*, tree_node*)
        ../../trunk/gcc/fold-const.c:2552
0x10e9df87 build_zero_cst(tree_node*)
        ../../trunk/gcc/tree.c:2382
0x10c36297 evaluate_stmt
        ../../trunk/gcc/tree-ssa-ccp.c:1997
0x10c38403 visit_assignment
        ../../trunk/gcc/tree-ssa-ccp.c:2352
0x10cf266f ssa_propagation_engine::simulate_stmt(gimple*)
        ../../trunk/gcc/tree-ssa-propagate.c:230
0x10cf2acb ssa_propagation_engine::simulate_block(basic_block_def*)
        ../../trunk/gcc/tree-ssa-propagate.c:337
0x10cf4a63 ssa_propagation_engine::ssa_propagate()
        ../../trunk/gcc/tree-ssa-propagate.c:802
0x10c2ab27 do_ssa_ccp
        ../../trunk/gcc/tree-ssa-ccp.c:2471
0x10c2ab27 execute
        ../../trunk/gcc/tree-ssa-ccp.c:2515
Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;
inclusive vorverarbeitetem Quellcode, wenn es dienlich ist.
Please include the complete backtrace with any bug report.
Weitere Hinweise finden Sie unter »<https://gcc.gnu.org/bugs/>«.

-fdump-tree-original shows

e ()
{
  integer(kind=4) k;

  {
    integer(kind=8) D.2240;
    integer(kind=8) D.2241;
    integer(kind=8) D.2242;
    integer(kind=8) D.2243;
    void <T374> (void) transfer.0;
    void <T374> (void) D.2245;
    static integer(kind=4) C.2246 = 1;
    integer(kind=8) D.2247;
    integer(kind=8) D.2248;
    integer(kind=4) transfer.1;

    D.2241 = 4;
    D.2242 = 4;
    __builtin_memcpy ((void *) &transfer.0, (void *) e, (unsigned long)
MAX_EXPR <MIN_EXPR <D.2242, D.2241>, 0>);
    D.2245 = transfer.0;
    D.2240 = 4;
    D.2247 = 4;
    __builtin_memcpy ((void *) &transfer.1, (void *) &D.2245, (unsigned long)
MAX_EXPR <MIN_EXPR <D.2247, D.2240>, 0>);
    k = transfer.1;
  }
}


More information about the Gcc-bugs mailing list