public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742
@ 2022-02-07 18:49 gscfq@t-online.de
  2022-02-08  9:04 ` [Bug fortran/104430] " rguenth at gcc dot gnu.org
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: gscfq@t-online.de @ 2022-02-07 18:49 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 104430
           Summary: [9/10/11/12 Regression] ICE in gfc_conv_component_ref,
                    at fortran/trans-expr.cc:2742
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gscfq@t-online.de
  Target Milestone: ---

Starts with r8, basically r9 changed between 20181014 and 20181021 :


$ cat z1.f90
module m
   type t
      integer :: a
   end type
contains
   function f(x) result(z)
      class(t) :: x(:)
      type(t) :: z(size(x%a))
   end
end
program p
   use m
   class(t), allocatable :: y(:), z(:)
   z = f(y)
end


$ gfortran-7 -c z1.f90
$
$ gfortran-12-20220206 -c z1.f90
z1.f90:14:11:

   14 |    z = f(y)
      |           1
internal compiler error: Segmentation fault
0xe6fc6f crash_signal
        ../../gcc/toplev.cc:322
0x8265df tree_check3(tree_node*, char const*, int, char const*, tree_code,
tree_code, tree_code)
        ../../gcc/tree.h:3483
0x8265df gfc_conv_component_ref(gfc_se*, gfc_ref*)
        ../../gcc/fortran/trans-expr.cc:2742
0x837897 gfc_conv_variable
        ../../gcc/fortran/trans-expr.cc:3118
0x83264a gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9406
0x835760 gfc_conv_expr_lhs(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9436
0x7f0858 gfc_conv_ss_descriptor
        ../../gcc/fortran/trans-array.cc:3219
0x7fd2e5 gfc_conv_expr_descriptor(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-array.cc:7494
0x8462cf gfc_conv_intrinsic_size
        ../../gcc/fortran/trans-intrinsic.cc:7975
0x86295b gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-intrinsic.cc:10644
0x83262a gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9398
0x834b5a gfc_apply_interface_mapping(gfc_interface_mapping*, gfc_se*,
gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:4865
0x7ee747 gfc_set_loop_bounds_from_array_spec(gfc_interface_mapping*, gfc_se*,
gfc_array_spec*)
        ../../gcc/fortran/trans-array.cc:1080
0x83066f gfc_conv_procedure_call(gfc_se*, gfc_symbol*, gfc_actual_arglist*,
gfc_expr*, vec<tree_node*, va_gc, vl_embed>*)
        ../../gcc/fortran/trans-expr.cc:7472
0x8426ac gfc_trans_arrayfunc_assign
        ../../gcc/fortran/trans-expr.cc:10873
0x8428d4 gfc_trans_assignment(gfc_expr*, gfc_expr*, bool, bool, bool, bool)
        ../../gcc/fortran/trans-expr.cc:12038
0x7e9887 trans_code
        ../../gcc/fortran/trans.cc:1916
0x8207a9 gfc_generate_function_code(gfc_namespace*)
        ../../gcc/fortran/trans-decl.cc:7654
0x7931fe translate_all_program_units
        ../../gcc/fortran/parse.cc:6651
0x7931fe gfc_parse_file()
        ../../gcc/fortran/parse.cc:6938

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
@ 2022-02-08  9:04 ` rguenth at gcc dot gnu.org
  2022-02-24 10:44 ` [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de marxin at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-02-08  9:04 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |9.5

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
  2022-02-08  9:04 ` [Bug fortran/104430] " rguenth at gcc dot gnu.org
@ 2022-02-24 10:44 ` marxin at gcc dot gnu.org
  2022-03-07 21:12 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2022-02-24 10:44 UTC (permalink / raw)
  To: gcc-bugs

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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2022-02-24
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
            Summary|[9/10/11/12 Regression] ICE |[9/10/11/12 Regression] ICE
                   |in gfc_conv_component_ref,  |in gfc_conv_component_ref,
                   |at                          |at
                   |fortran/trans-expr.cc:2742  |fortran/trans-expr.cc:2742
                   |                            |since
                   |                            |r9-3522-gd0477233215e37de

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with r9-3522-gd0477233215e37de.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
  2022-02-08  9:04 ` [Bug fortran/104430] " rguenth at gcc dot gnu.org
  2022-02-24 10:44 ` [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de marxin at gcc dot gnu.org
@ 2022-03-07 21:12 ` cvs-commit at gcc dot gnu.org
  2022-03-19  7:49 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-07 21:12 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tobias Burnus <burnus@gcc.gnu.org>:

https://gcc.gnu.org/g:c0134b7383992aab5c1a91440dbdd8fbb747169c

commit r12-7526-gc0134b7383992aab5c1a91440dbdd8fbb747169c
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Mon Mar 7 22:11:33 2022 +0100

    Fortran: Fix gfc_maybe_dereference_var [PR104430][PR99585]

            PR fortran/99585
            PR fortran/104430

    gcc/fortran/ChangeLog:

            * trans-expr.cc (conv_parent_component_references): Fix comment;
            simplify comparison.
            (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/class_result_10.f90: New test.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (2 preceding siblings ...)
  2022-03-07 21:12 ` cvs-commit at gcc dot gnu.org
@ 2022-03-19  7:49 ` cvs-commit at gcc dot gnu.org
  2022-05-27  9:47 ` [Bug fortran/104430] [10/11/12/13 " rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-19  7:49 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Tobias Burnus
<burnus@gcc.gnu.org>:

https://gcc.gnu.org/g:d32402e6167294ad8ba84ffccebff1b098d2b4e1

commit r11-9671-gd32402e6167294ad8ba84ffccebff1b098d2b4e1
Author: Tobias Burnus <tobias@codesourcery.com>
Date:   Mon Mar 7 22:11:33 2022 +0100

    Fortran: Fix gfc_maybe_dereference_var [PR104430][PR99585]

            PR fortran/99585
            PR fortran/104430

    gcc/fortran/ChangeLog:

            * trans-expr.c (conv_parent_component_references): Fix comment;
            simplify comparison.
            (gfc_maybe_dereference_var): Avoid d referencing a nonpointer.

    gcc/testsuite/ChangeLog:

            * gfortran.dg/class_result_10.f90: New test.

    (cherry picked from commit c0134b7383992aab5c1a91440dbdd8fbb747169c)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10/11/12/13 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (3 preceding siblings ...)
  2022-03-19  7:49 ` cvs-commit at gcc dot gnu.org
@ 2022-05-27  9:47 ` rguenth at gcc dot gnu.org
  2022-06-27 19:55 ` [Bug fortran/104430] [10 " anlauf at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-05-27  9:47 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|9.5                         |10.4

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 9 branch is being closed

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (4 preceding siblings ...)
  2022-05-27  9:47 ` [Bug fortran/104430] [10/11/12/13 " rguenth at gcc dot gnu.org
@ 2022-06-27 19:55 ` anlauf at gcc dot gnu.org
  2022-06-28 10:48 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: anlauf at gcc dot gnu.org @ 2022-06-27 19:55 UTC (permalink / raw)
  To: gcc-bugs

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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING
            Summary|[10/11/12/13 Regression]    |[10 Regression] ICE in
                   |ICE in                      |gfc_conv_component_ref, at
                   |gfc_conv_component_ref, at  |fortran/trans-expr.cc:2742
                   |fortran/trans-expr.cc:2742  |since
                   |since                       |r9-3522-gd0477233215e37de
                   |r9-3522-gd0477233215e37de   |

--- Comment #5 from anlauf at gcc dot gnu.org ---
Seems to be fixed on gcc-11 and newer.

Tobias, is the fix backportable to gcc-10 so that this one can be closed?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (5 preceding siblings ...)
  2022-06-27 19:55 ` [Bug fortran/104430] [10 " anlauf at gcc dot gnu.org
@ 2022-06-28 10:48 ` jakub at gcc dot gnu.org
  2022-08-26 10:59 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-06-28 10:48 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|10.4                        |10.5

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 10.4 is being released, retargeting bugs to GCC 10.5.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (6 preceding siblings ...)
  2022-06-28 10:48 ` jakub at gcc dot gnu.org
@ 2022-08-26 10:59 ` redi at gcc dot gnu.org
  2022-08-26 11:04 ` redi at gcc dot gnu.org
  2023-06-02  8:52 ` pault at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2022-08-26 10:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The patch also fixes an ICE for this code, taken from
https://stackoverflow.com/q/73498995/981959

program main

    integer, dimension(1:2) :: iii
    real, dimension(1:4,1:4,1:2) :: myArray

    associate(iix => iii(1), iiy=> iii(2) )
    forall( iix=1:4, iiy=1:4 )
        myArray(iix,iiy,1) = iix + iiy
        myArray(iix,iiy,2) = (iix + iiy)*10
    endforall
    end associate

    print *, myArray(:,:,1)
    print *, myArray(:,:,2)

end program main


I know nothing about Fortran, but it looks sufficiently different to me that
maybe it's worth adding another test based on this code, so we don't regress.

The question of whether to backport to gcc-10 or close this is still waiting
for an answer too.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (7 preceding siblings ...)
  2022-08-26 10:59 ` redi at gcc dot gnu.org
@ 2022-08-26 11:04 ` redi at gcc dot gnu.org
  2023-06-02  8:52 ` pault at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: redi at gcc dot gnu.org @ 2022-08-26 11:04 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The ICE for comment 7 looks a little different, so a new test does seem
worthwhile:

Bad:  539 /home/remote/jwakely/gcc-bisect-objs/f951.r12-7525
ice.f90:7:30:

    7 |     forall( iix=1:4, iiy=1:4 )
      |                              1
internal compiler error: Segmentation fault
0x1459b77 crash_signal
        ../../gcc/toplev.cc:322
0xf22b21 split_tree
        ../../gcc/fold-const.cc:815
0xf5139c fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.cc:11269
0xf5d559 fold_build2_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
        ../../gcc/fold-const.cc:13814
0xc21e73 gfc_conv_expr_op
        ../../gcc/fortran/trans-expr.cc:3921
0xc35f01 gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9394
0xc36049 gfc_conv_expr_val(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9451
0xc3f8bf gfc_conv_intrinsic_function_args
        ../../gcc/fortran/trans-intrinsic.cc:237
0xc3face gfc_conv_intrinsic_conversion
        ../../gcc/fortran/trans-intrinsic.cc:295
0xc60a8b gfc_conv_intrinsic_function(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-intrinsic.cc:10288
0xc32027 gfc_conv_function_expr
        ../../gcc/fortran/trans-expr.cc:8258
0xc35f19 gfc_conv_expr(gfc_se*, gfc_expr*)
        ../../gcc/fortran/trans-expr.cc:9398
0xc3d718 gfc_trans_assignment_1
        ../../gcc/fortran/trans-expr.cc:11686
0xc3ead6 gfc_trans_assignment(gfc_expr*, gfc_expr*, bool, bool, bool, bool)
        ../../gcc/fortran/trans-expr.cc:12077
0xca2aab gfc_trans_forall_1
        ../../gcc/fortran/trans-stmt.cc:5192
0xca2eb6 gfc_trans_forall(gfc_code*)
        ../../gcc/fortran/trans-stmt.cc:5298
0xbca74c trans_code
        ../../gcc/fortran/trans.cc:2064
0xbcaa4e gfc_trans_code(gfc_code*)
        ../../gcc/fortran/trans.cc:2268
0xc9b362 gfc_trans_block_construct(gfc_code*)
        ../../gcc/fortran/trans-stmt.cc:2314
0xbca631 trans_code
        ../../gcc/fortran/trans.cc:2012
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug fortran/104430] [10 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de
  2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
                   ` (8 preceding siblings ...)
  2022-08-26 11:04 ` redi at gcc dot gnu.org
@ 2023-06-02  8:52 ` pault at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: pault at gcc dot gnu.org @ 2023-06-02  8:52 UTC (permalink / raw)
  To: gcc-bugs

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

Paul Thomas <pault at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Paul Thomas <pault at gcc dot gnu.org> ---
I am closing this one but have flagged up the inclusion of the testcase in
comment  #7 for inclusion in the testsuite.

Cheers

Paul

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-06-02  8:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-07 18:49 [Bug fortran/104430] New: [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 gscfq@t-online.de
2022-02-08  9:04 ` [Bug fortran/104430] " rguenth at gcc dot gnu.org
2022-02-24 10:44 ` [Bug fortran/104430] [9/10/11/12 Regression] ICE in gfc_conv_component_ref, at fortran/trans-expr.cc:2742 since r9-3522-gd0477233215e37de marxin at gcc dot gnu.org
2022-03-07 21:12 ` cvs-commit at gcc dot gnu.org
2022-03-19  7:49 ` cvs-commit at gcc dot gnu.org
2022-05-27  9:47 ` [Bug fortran/104430] [10/11/12/13 " rguenth at gcc dot gnu.org
2022-06-27 19:55 ` [Bug fortran/104430] [10 " anlauf at gcc dot gnu.org
2022-06-28 10:48 ` jakub at gcc dot gnu.org
2022-08-26 10:59 ` redi at gcc dot gnu.org
2022-08-26 11:04 ` redi at gcc dot gnu.org
2023-06-02  8:52 ` pault at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).