https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95068
G. Steinmetz <gs...@t-online.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-invalid-code --- Comment #1 from G. Steinmetz <gs...@t-online.de> --- Further reduced (ICEs down to r7, r6 rejects it) : $ cat z2.f90 function f() result(x) associate (y => (f)) end associate end $ gfortran-11-20200510 -c z2.f90 z2.f90:2:20: 2 | associate (y => (f)) | 1 Warning: Non-RECURSIVE procedure 'f' at (1) is possibly calling itself recursively. Declare it RECURSIVE or use '-frecursive' during RTL pass: expand z2.f90:2:0: 2 | associate (y => (f)) | internal compiler error: in convert_mode_scalar, at expr.c:313 0x8c13cc convert_mode_scalar ../../gcc/expr.c:313 0x8c13cc convert_move(rtx_def*, rtx_def*, int) ../../gcc/expr.c:297 0x8cd3f2 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) ../../gcc/expr.c:8670 0x7c3175 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3786 0x7c3175 expand_gimple_stmt ../../gcc/cfgexpand.c:3847 0x7c7d57 expand_gimple_basic_block ../../gcc/cfgexpand.c:5887 0x7ca3ce execute ../../gcc/cfgexpand.c:6571 $ gfortran-11-20200510-chk -c z2.f90 z2.f90:2:20: 2 | associate (y => (f)) | 1 Warning: Non-RECURSIVE procedure 'f' at (1) is possibly calling itself recursively. Declare it RECURSIVE or use '-frecursive' z2.f90:1:0: 1 | function f() result(x) | Error: non-trivial conversion in unary operation real(kind=4) real(kind=4) <T5c7> (void) y = ((f.0_1)); z2.f90:1:0: internal compiler error: 'verify_gimple' failed 0xd9158d verify_gimple_in_seq(gimple*) ../../gcc/tree-cfg.c:5113 0xa4ded1 gimplify_body(tree_node*, bool) ../../gcc/gimplify.c:14917 0xa4e187 gimplify_function_tree(tree_node*) ../../gcc/gimplify.c:14988 0x889347 cgraph_node::analyze() ../../gcc/cgraphunit.c:670 0x88c771 analyze_functions ../../gcc/cgraphunit.c:1227 0x88d982 symbol_table::finalize_compilation_unit() ../../gcc/cgraphunit.c:2971