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

            Bug ID: 79888
           Summary: ICE in gfc_warning with -Warray-temporaries
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Created attachment 40887
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40887&action=edit
test-case

All releases I have (4.5.0+) ICE here:

$ gfortran where_operator_assign_1.f90  -c -Warray-temporaries 
where_operator_assign_1.f90:102:15:

       ans%vect=(/index,-index/)
               1
Warning: Creating array temporary at (1) [-Warray-temporaries]

where_operator_assign_1.f90:81:0:

       WHERE(la((/1_I4,2_I4/),i))

Segmentation fault
0xc66dcf crash_signal
        ../../gcc/toplev.c:337
0x69e6f5 gfc_format_decoder
        ../../gcc/fortran/error.c:935
0x1477eff pp_format(pretty_printer*, text_info*)
        ../../gcc/pretty-print.c:679
0x146b2d8 diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
        ../../gcc/diagnostic.c:961
0x69e4af gfc_warning
        ../../gcc/fortran/error.c:792
0x69f136 gfc_warning(int, char const*, ...)
        ../../gcc/fortran/error.c:823
0x746d2f gfc_trans_create_temp_array(stmtblock_t*, stmtblock_t*, gfc_ss*,
tree_node*, tree_node*, bool, bool, bool, locus*)
        ../../gcc/fortran/trans-array.c:1044
0x75784d trans_array_constructor
        ../../gcc/fortran/trans-array.c:2382
0x75784d gfc_add_loop_ss_code
        ../../gcc/fortran/trans-array.c:2664
0x758135 gfc_conv_loop_setup(gfc_loopinfo*, locus*)
        ../../gcc/fortran/trans-array.c:4915
0x7c5709 gfc_trans_call(gfc_code*, bool, tree_node*, tree_node*, bool)
        ../../gcc/fortran/trans-stmt.c:455
0x7c6410 gfc_trans_where_assign
        ../../gcc/fortran/trans-stmt.c:4785
0x7c6410 gfc_trans_where_2
        ../../gcc/fortran/trans-stmt.c:5175
0x7cc5b5 gfc_trans_where(gfc_code*)
        ../../gcc/fortran/trans-stmt.c:5427
0x73ea57 trans_code
        ../../gcc/fortran/trans.c:1961
0x7cb692 gfc_trans_simple_do
        ../../gcc/fortran/trans-stmt.c:1924
0x7cb692 gfc_trans_do(gfc_code*, tree_node*)
        ../../gcc/fortran/trans-stmt.c:2057
0x73eaba trans_code
        ../../gcc/fortran/trans.c:1917
0x76fce8 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.c:6306
0x6f7890 translate_all_program_units
        ../../gcc/fortran/parse.c:6070

Reply via email to