Summary: | [OOP] ICE in fold_convert_loc: pointer to allocatable array with select type | ||
---|---|---|---|
Product: | gcc | Reporter: | Hans-Werner Boschmann <boschmann> |
Component: | fortran | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | burnus, gcc-bugs, janus |
Priority: | P3 | ||
Version: | 4.6.0 | ||
Target Milestone: | 4.6.0 | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: |
Description
Hans-Werner Boschmann
2010-09-22 08:20:08 UTC
Fails in gfc_trans_scalar_assign for the line: gfc_add_modify (&block, lse->expr, fold_convert (TREE_TYPE (lse->expr), rse->expr)); as switch (TREE_CODE (type)) in fold_convert reaches gcc_unreachable. Hereby, (gdb) p lse->expr->common.type->base->code $1 = RECORD_TYPE (gdb) p rse->expr->common.type->base->code $2 = RECORD_TYPE And both types are different, cf. (gdb) p rse->expr->common.type $4 = (tree) 0x2aaaad533e70 (gdb) p lse->expr->common.type $5 = (tree) 0x2aaaad538000 Confirmed as a regression: no ICE for branch fortran-exp revision 158215, ICE for branch fortran-dev revision 163718. I do not see the error on x86_64-unknown-linux-gnu at r164767. Can anyone confirm that? (In reply to comment #3) > I do not see the error on x86_64-unknown-linux-gnu at r164767. Can anyone > confirm that? Ditto for my 4.6.0 20100930 built also on x86_64-unknown-linux-gnu; I tried it using valgrind. (In reply to comment #4) > (In reply to comment #3) > > I do not see the error on x86_64-unknown-linux-gnu at r164767. Can anyone > > confirm that? > > Ditto for my 4.6.0 20100930 built also on x86_64-unknown-linux-gnu; I tried it > using valgrind. Ok, so I guess we can close this one (supposedly it was fixed by some middle-end patch). Hans, if you encounter the issue after all, please feel free to re-open. |