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]
Other format: [Raw text]

[Bug fortran/79440] internal compiler error: in fold_convert_loc, at fold-const.c:2373


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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-02-09
     Ever confirmed|0                           |1

--- Comment #1 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Confirmed from 4.9.3 up to trunk (7.0). Compiling the test with 4.8.5 gives the
error

    allocate( mygroup(1)%el(10), source=CBTHII( 12, 1, mymaterial, 1.5) )
                                                       1
Error: Can't convert TYPE(cmaterial) to CLASS(cmaterial) at (1)

The change occurred between revisions r201266 (2013-07-26, error) and r201631
(2013-08-09, ICE).

Backtrace is

    frame #11: 0x0000000100700c38 f951`fold_convert_loc(loc=0,
type=0x00000001445f13f0, arg=<unavailable>) + 1544 at fold-const.c:2361
    frame #12: 0x000000010011a6fc
f951`::gfc_trans_subcomponent_assign(dest=0x0000000144600a20,
cm=0x000000014263be20, expr=0x0000000142650f90, sym=<unavailable>,
init=<unavailable>) + 892 at trans-expr.c:7399
    frame #13: 0x000000010011b506
f951`gfc_trans_structure_assign(dest=0x0000000144600990,
expr=0x0000000142658890, init=false, coarray=false) + 262 at trans-expr.c:7578
    frame #14: 0x000000010011ad5b
f951`::gfc_trans_subcomponent_assign(dest=0x0000000144600990,
cm=0x000000014264ee00, expr=0x0000000142658890, sym=0x000000014264ce60,
init=<unavailable>) + 2523 at trans-expr.c:7416
    frame #15: 0x000000010011b506
f951`gfc_trans_structure_assign(dest=0x00000001445f5ea0,
expr=0x0000000142651110, init=true, coarray=false) + 262 at trans-expr.c:7578
    frame #16: 0x000000010011c1cd
f951`gfc_conv_structure(se=0x00007fff5fbfedc0, expr=0x0000000142651110, init=0)
+ 621 at trans-expr.c:7645
    frame #17: 0x000000010011c78b
f951`gfc_conv_expr_reference(se=0x00007fff5fbfedc0, expr=0x0000000142651110) +
107 at trans-expr.c:7928
    frame #18: 0x0000000100156475
f951`gfc_trans_allocate(code=0x00000001426511d0) + 7173 at trans-stmt.c:5642
    frame #19: 0x00000001000e09f8 f951`::trans_code(code=0x00000001426511d0,
cond=0x0000000000000000) + 1496 at trans.c:1965
    frame #20: 0x00000001001098c5
f951`gfc_generate_function_code(ns=<unavailable>) + 949 at trans-decl.c:6296
    frame #21: 0x0000000100094eac f951`gfc_parse_file() + 1788 at parse.c:6051
    frame #22: 0x00000001000dcdf7 f951`::gfc_be_parse_file() + 71 at
f95-lang.c:204
    frame #23: 0x0000000100a3214a f951`::compile_file() + 58 at toplev.c:463
    frame #24: 0x0000000100e5f1e3 f951`toplev::main(this=0x00007fff5fbff290,
argc=<unavailable>, argv=<unavailable>) + 3763 at toplev.c:1983
    frame #25: 0x0000000100e60709 f951`main(argc=2, argv=0x00007fff5fbff2d8) +
41 at main.c:39

The ICE occurs at

    default:
      if (TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (orig))
        return fold_build1_loc (loc, NOP_EXPR, type, arg);
      gcc_unreachable ();

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