This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/62242] ICE in expand_expr_real_1
- From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 24 Aug 2014 08:20:12 +0000
- Subject: [Bug middle-end/62242] ICE in expand_expr_real_1
- Auto-submitted: auto-generated
- References: <bug-62242-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62242
Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-08-24
CC| |Joost.VandeVondele at mat dot ethz
| |.ch
Component|fortran |middle-end
Summary|ICE with character function |ICE in expand_expr_real_1
|in expression |
Ever confirmed|0 |1
Known to fail| |4.6.0, 4.7.0, 4.8.0, 4.9.0,
| |5.0
--- Comment #1 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> ---
confirmed with current trunk and 4.6 - 4.9
module gfbug
contains
pure function UpperCase(string) result(upper)
character(*), intent(IN) :: string
character(LEN(string)) :: upper
do i = 1, LEN_TRIM(upper)
enddo
end function
pure function isNotElementOf(scalar, array) result(status)
logical :: status
character(*), intent(IN) :: scalar, array(:)
status = .NOT. ANY(UpperCase(scalar) == [(UpperCase(array(i)), &
i = 1, SIZE(array))])
end function
end module gfbug
This ICE is actually not in the Fortran Frontend, but rather some later pass
0x7f93fd expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/gcc/expr.c:9497
0x7016f0 expand_normal
../../gcc/gcc/expr.h:458
0x7016f0 precompute_register_parameters
../../gcc/gcc/calls.c:831
0x7016f0 expand_call(tree_node*, rtx_def*, int)
../../gcc/gcc/calls.c:3012
0x7f892e expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
../../gcc/gcc/expr.c:10385
0x804d50 store_expr(tree_node*, rtx_def*, int, bool)
../../gcc/gcc/expr.c:5318
0x807b9a expand_assignment(tree_node*, tree_node*, bool)
../../gcc/gcc/expr.c:5104
0x711800 expand_call_stmt
../../gcc/gcc/cfgexpand.c:2316
0x711800 expand_gimple_stmt_1
../../gcc/gcc/cfgexpand.c:3213
0x711800 expand_gimple_stmt
../../gcc/gcc/cfgexpand.c:3371
0x7174f7 expand_gimple_basic_block
../../gcc/gcc/cfgexpand.c:5210
0x71919a execute
../../gcc/gcc/cfgexpand.c:5816