public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
@ 2020-05-01 15:23 ` ro at gcc dot gnu.org
  2020-05-01 15:25 ` ro at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2020-05-01 15:23 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #32 from Rainer Orth <ro at gcc dot gnu.org> ---
*** Bug 94388 has been marked as a duplicate of this bug. ***

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
  2020-05-01 15:23 ` [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type ro at gcc dot gnu.org
@ 2020-05-01 15:25 ` ro at gcc dot gnu.org
  2020-05-02 12:22 ` pault at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: ro at gcc dot gnu.org @ 2020-05-01 15:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #33 from Rainer Orth <ro at gcc dot gnu.org> ---
What's going to happen with the fix?  It works for me on sparc-sun-solaris2.11
and obviously several other targets.  This has been open for months now with a
known fix, and it seems we're going to release GCC 10.1 with this bug.

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
  2020-05-01 15:23 ` [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type ro at gcc dot gnu.org
  2020-05-01 15:25 ` ro at gcc dot gnu.org
@ 2020-05-02 12:22 ` pault at gcc dot gnu.org
  2020-05-07 21:04 ` vladimir.fuka at gmail dot com
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: pault at gcc dot gnu.org @ 2020-05-02 12:22 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #34 from Paul Thomas <pault at gcc dot gnu.org> ---
(In reply to Rainer Orth from comment #33)
> What's going to happen with the fix?  It works for me on
> sparc-sun-solaris2.11
> and obviously several other targets.  This has been open for months now with
> a
> known fix, and it seems we're going to release GCC 10.1 with this bug.

Hi Rainer,

Tobias commented on it (see comment #30), I went in pursuit and then ran into
an intensely busy spell of daytime work.

I am sorry that the patch will miss the 10.1.0 release but there is nothing
that I can do about it now.


Paul

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2020-05-02 12:22 ` pault at gcc dot gnu.org
@ 2020-05-07 21:04 ` vladimir.fuka at gmail dot com
  2020-10-21  5:59 ` pault at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: vladimir.fuka at gmail dot com @ 2020-05-07 21:04 UTC (permalink / raw)
  To: gcc-bugs

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

Vladimir Fuka <vladimir.fuka at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vladimir.fuka at gmail dot com

--- Comment #35 from Vladimir Fuka <vladimir.fuka at gmail dot com> ---
Perhaps Target Milestone 10.2 or 11?

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (3 preceding siblings ...)
  2020-05-07 21:04 ` vladimir.fuka at gmail dot com
@ 2020-10-21  5:59 ` pault at gcc dot gnu.org
  2020-10-21 16:25 ` pault at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: pault at gcc dot gnu.org @ 2020-10-21  5:59 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #36 from Paul Thomas <pault at gcc dot gnu.org> ---
Created attachment 49412
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49412&action=edit
An updated patch

The patch has been evolving... slowly.

I found that dependency_57.f90 segfaulted in runtime so I have fixed that.

I believe that I know how to resolve Tobias's query. I hope to submit a
complete patch in the coming days.

Paul

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (4 preceding siblings ...)
  2020-10-21  5:59 ` pault at gcc dot gnu.org
@ 2020-10-21 16:25 ` pault at gcc dot gnu.org
  2020-12-18 14:00 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: pault at gcc dot gnu.org @ 2020-10-21 16:25 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #37 from Paul Thomas <pault at gcc dot gnu.org> ---
(In reply to Paul Thomas from comment #36)
> Created attachment 49412 [details]
> An updated patch
> 
> The patch has been evolving... slowly.
> 
> I found that dependency_57.f90 segfaulted in runtime so I have fixed that.
> 
> I believe that I know how to resolve Tobias's query. I hope to submit a
> complete patch in the coming days.
> 
> Paul

Actually, dependency_5[6,7].f90 are not fixed because the temporaries generated
by the dependencies take their size and type from the class container. For
dependency_56.f90:

      D.4055 = f (&class.11);
      D.4056 = D.4055._data.dim[0].ubound - D.4055._data.dim[0].lbound;
            typedef struct __class__STAR_1_0a [0:];
      atmp.12.dtype = {.elem_len=80, .rank=1, .type=7}; /* !!!!! */


gfc_conv_loop_setup needs to use the mechanism for dealing  with class
temporaries in gfc_trans_create_temp_array by using the size of the dynamic
type.

Paul

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (5 preceding siblings ...)
  2020-10-21 16:25 ` pault at gcc dot gnu.org
@ 2020-12-18 14:00 ` cvs-commit at gcc dot gnu.org
  2020-12-26 15:08 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-12-18 14:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #38 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

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

commit r11-6253-gce8dcc9105cbd4043d575d8b2c91309a423951a9
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Fri Dec 18 14:00:11 2020 +0000

    As well as the PR this patch fixes problems in handling class objects

    2020-12-18  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            PR fortran/96012
            * resolve.c (resolve_ordinary_assign): Generate a vtable if
            necessary for scalar non-polymorphic rhs's to unlimited lhs's.
            * trans-array.c (get_class_info_from_ss): New function.
            (gfc_trans_allocate_array_storage): Defer obtaining class
            element type until all sources of class exprs are tried. Use
            class API rather than TREE_OPERAND. Look for class expressions
            in ss->info by calling get_class_info_from_ss. After, obtain
            the element size for class descriptors. Where the element type
            is unknown, cast the data as character(len=size) to overcome
            unlimited polymorphic problems.
            (gfc_conv_ss_descriptor): Do not fix class variable refs.
            (build_class_array_ref, structure_alloc_comps): Replace code
            replicating the new function gfc_resize_class_size_with_len.
            (gfc_alloc_allocatable_for_assignment): Obtain element size
            for lhs in cases of deferred characters and class enitities.
            Move code for the element size of rhs to start of block. Clean
            up extraction of class parameters throughout this function.
            After the shape check test whether or not the lhs and rhs
            element sizes are the same. Use earlier evaluation of
            'cond_null'. Reallocation of lhs only to happen if size changes
            or element size changes.
            * trans-expr.c (gfc_resize_class_size_with_len): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (trans_scalar_class_assign): New function.
            (gfc_conv_procedure_call): Ensure the vtable is present for
            passing a non-class actual to an unlimited formal.
            (trans_class_vptr_len_assignment): For expressions of type
            BT_CLASS, extract the class expression if necessary. Use a
            statement block outside the loop body. Ensure that 'rhs' is
            of the correct type. Obtain rhs vptr in all circumstances.
            (gfc_trans_scalar_assign): Call trans_scalar_class_assign to
            make maximum use of the vptr copy in place of assignment.
            (trans_class_assignment): Actually do reallocation if needed.
            (gfc_trans_assignment_1): Simplify some of the logic with
            'realloc_flag'. Set 'vptr_copy' for all array assignments to
            unlimited polymorphic lhs.
            * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_
            with_len to correct span for unlimited polymorphic decls.
            * trans.h : Add prototype for gfc_resize_class_size_with_len.

    gcc/testsuite/
            PR fortran/83118
            PR fortran/96012
            * gfortran.dg/dependency_60.f90: New test.
            * gfortran.dg/class_allocate_25.f90: New test.
            * gfortran.dg/class_assign_4.f90: New test.
            * gfortran.dg/unlimited_polymorphic_32.f03: New test.

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (6 preceding siblings ...)
  2020-12-18 14:00 ` cvs-commit at gcc dot gnu.org
@ 2020-12-26 15:08 ` cvs-commit at gcc dot gnu.org
  2021-01-07 11:19 ` cvs-commit at gcc dot gnu.org
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-12-26 15:08 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #39 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

https://gcc.gnu.org/g:0175d45d14b1f9ebc4c15ea5bafcda655c37fc35

commit r11-6341-g0175d45d14b1f9ebc4c15ea5bafcda655c37fc35
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Sat Dec 26 15:08:11 2020 +0000

    Fix failures with -m32 and some memory leaks.

    2020-12-23  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            * trans-array.c (gfc_alloc_allocatable_for_assignment): Make
            sure that class expressions are captured for dummy arguments by
            use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
            used.
            * trans-expr.c (gfc_get_class_from_gfc_expr): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (gfc_trans_assignment_1): Deallocate rhs allocatable components
            after passing derived type function results to class lhs.
            * trans.h : Add prototype for gfc_get_class_from_gfc_expr.

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (7 preceding siblings ...)
  2020-12-26 15:08 ` cvs-commit at gcc dot gnu.org
@ 2021-01-07 11:19 ` cvs-commit at gcc dot gnu.org
  2021-01-07 11:21 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-07 11:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #40 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

https://gcc.gnu.org/g:10dde773d2d6866cbca3f7323a64130339e36007

commit r10-9229-g10dde773d2d6866cbca3f7323a64130339e36007
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Fri Dec 18 14:00:11 2020 +0000

    As well as the PR this patch fixes problems in handling class objects

    2020-12-18  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            PR fortran/96012
            * resolve.c (resolve_ordinary_assign): Generate a vtable if
            necessary for scalar non-polymorphic rhs's to unlimited lhs's.
            * trans-array.c (get_class_info_from_ss): New function.
            (gfc_trans_allocate_array_storage): Defer obtaining class
            element type until all sources of class exprs are tried. Use
            class API rather than TREE_OPERAND. Look for class expressions
            in ss->info by calling get_class_info_from_ss. After, obtain
            the element size for class descriptors. Where the element type
            is unknown, cast the data as character(len=size) to overcome
            unlimited polymorphic problems.
            (gfc_conv_ss_descriptor): Do not fix class variable refs.
            (build_class_array_ref, structure_alloc_comps): Replace code
            replicating the new function gfc_resize_class_size_with_len.
            (gfc_alloc_allocatable_for_assignment): Obtain element size
            for lhs in cases of deferred characters and class enitities.
            Move code for the element size of rhs to start of block. Clean
            up extraction of class parameters throughout this function.
            After the shape check test whether or not the lhs and rhs
            element sizes are the same. Use earlier evaluation of
            'cond_null'. Reallocation of lhs only to happen if size changes
            or element size changes.
            * trans-expr.c (gfc_resize_class_size_with_len): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (trans_scalar_class_assign): New function.
            (gfc_conv_procedure_call): Ensure the vtable is present for
            passing a non-class actual to an unlimited formal.
            (trans_class_vptr_len_assignment): For expressions of type
            BT_CLASS, extract the class expression if necessary. Use a
            statement block outside the loop body. Ensure that 'rhs' is
            of the correct type. Obtain rhs vptr in all circumstances.
            (gfc_trans_scalar_assign): Call trans_scalar_class_assign to
            make maximum use of the vptr copy in place of assignment.
            (trans_class_assignment): Actually do reallocation if needed.
            (gfc_trans_assignment_1): Simplify some of the logic with
            'realloc_flag'. Set 'vptr_copy' for all array assignments to
            unlimited polymorphic lhs.
            * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_
            with_len to correct span for unlimited polymorphic decls.
            * trans.h : Add prototype for gfc_resize_class_size_with_len.

    gcc/testsuite/
            PR fortran/83118
            PR fortran/96012
            * gfortran.dg/dependency_60.f90: New test.
            * gfortran.dg/class_allocate_25.f90: New test.
            * gfortran.dg/class_assign_4.f90: New test.
            * gfortran.dg/unlimited_polymorphic_32.f03: New test.

    (cherry picked from commit ce8dcc9105cbd4043d575d8b2c91309a423951a9)

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (8 preceding siblings ...)
  2021-01-07 11:19 ` cvs-commit at gcc dot gnu.org
@ 2021-01-07 11:21 ` cvs-commit at gcc dot gnu.org
  2021-01-07 11:34 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-07 11:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #41 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

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

commit r10-9230-gfc46d988ab1c496acc7e082286e21998a992df42
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Sat Dec 26 15:08:11 2020 +0000

    Fix failures with -m32 and some memory leaks.

    2020-12-23  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            * trans-array.c (gfc_alloc_allocatable_for_assignment): Make
            sure that class expressions are captured for dummy arguments by
            use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
            used.
            * trans-expr.c (gfc_get_class_from_gfc_expr): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (gfc_trans_assignment_1): Deallocate rhs allocatable components
            after passing derived type function results to class lhs.
            * trans.h : Add prototype for gfc_get_class_from_gfc_expr.

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (9 preceding siblings ...)
  2021-01-07 11:21 ` cvs-commit at gcc dot gnu.org
@ 2021-01-07 11:34 ` cvs-commit at gcc dot gnu.org
  2021-01-07 13:05 ` cvs-commit at gcc dot gnu.org
  2021-01-07 15:23 ` pault at gcc dot gnu.org
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-07 11:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #42 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

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

commit r9-9158-ge780e940a9f53b93bdf6bd70fdb3ec2b287a52e3
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Fri Dec 18 14:00:11 2020 +0000

    As well as the PR this patch fixes problems in handling class objects

    2020-12-18  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            PR fortran/96012
            * resolve.c (resolve_ordinary_assign): Generate a vtable if
            necessary for scalar non-polymorphic rhs's to unlimited lhs's.
            * trans-array.c (get_class_info_from_ss): New function.
            (gfc_trans_allocate_array_storage): Defer obtaining class
            element type until all sources of class exprs are tried. Use
            class API rather than TREE_OPERAND. Look for class expressions
            in ss->info by calling get_class_info_from_ss. After, obtain
            the element size for class descriptors. Where the element type
            is unknown, cast the data as character(len=size) to overcome
            unlimited polymorphic problems.
            (gfc_conv_ss_descriptor): Do not fix class variable refs.
            (build_class_array_ref, structure_alloc_comps): Replace code
            replicating the new function gfc_resize_class_size_with_len.
            (gfc_alloc_allocatable_for_assignment): Obtain element size
            for lhs in cases of deferred characters and class enitities.
            Move code for the element size of rhs to start of block. Clean
            up extraction of class parameters throughout this function.
            After the shape check test whether or not the lhs and rhs
            element sizes are the same. Use earlier evaluation of
            'cond_null'. Reallocation of lhs only to happen if size changes
            or element size changes.
            * trans-expr.c (gfc_resize_class_size_with_len): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (trans_scalar_class_assign): New function.
            (gfc_conv_procedure_call): Ensure the vtable is present for
            passing a non-class actual to an unlimited formal.
            (trans_class_vptr_len_assignment): For expressions of type
            BT_CLASS, extract the class expression if necessary. Use a
            statement block outside the loop body. Ensure that 'rhs' is
            of the correct type. Obtain rhs vptr in all circumstances.
            (gfc_trans_scalar_assign): Call trans_scalar_class_assign to
            make maximum use of the vptr copy in place of assignment.
            (trans_class_assignment): Actually do reallocation if needed.
            (gfc_trans_assignment_1): Simplify some of the logic with
            'realloc_flag'. Set 'vptr_copy' for all array assignments to
            unlimited polymorphic lhs.
            * trans.c (gfc_build_array_ref): Call gfc_resize_class_size_
            with_len to correct span for unlimited polymorphic decls.
            * trans.h : Add prototype for gfc_resize_class_size_with_len.

    gcc/testsuite/
            PR fortran/83118
            PR fortran/96012
            * gfortran.dg/dependency_60.f90: New test.
            * gfortran.dg/class_allocate_25.f90: New test.
            * gfortran.dg/class_assign_4.f90: New test.
            * gfortran.dg/unlimited_polymorphic_32.f03: New test.

    (cherry picked from commit ce8dcc9105cbd4043d575d8b2c91309a423951a9)

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (10 preceding siblings ...)
  2021-01-07 11:34 ` cvs-commit at gcc dot gnu.org
@ 2021-01-07 13:05 ` cvs-commit at gcc dot gnu.org
  2021-01-07 15:23 ` pault at gcc dot gnu.org
  12 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-07 13:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #43 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Paul Thomas <pault@gcc.gnu.org>:

https://gcc.gnu.org/g:1fa1430d1cfc4b373bfde9e3a749a5255a589643

commit r9-9159-g1fa1430d1cfc4b373bfde9e3a749a5255a589643
Author: Paul Thomas <pault@gcc.gnu.org>
Date:   Sat Dec 26 15:08:11 2020 +0000

    Fix failures with -m32 and some memory leaks.

    2020-12-23  Paul Thomas  <pault@gcc.gnu.org>

    gcc/fortran
            PR fortran/83118
            * trans-array.c (gfc_alloc_allocatable_for_assignment): Make
            sure that class expressions are captured for dummy arguments by
            use of gfc_get_class_from_gfc_expr otherwise the wrong vptr is
            used.
            * trans-expr.c (gfc_get_class_from_gfc_expr): New function.
            (gfc_get_class_from_expr): If a constant expression is
            encountered, return NULL_TREE;
            (gfc_trans_assignment_1): Deallocate rhs allocatable components
            after passing derived type function results to class lhs.
            * trans.h : Add prototype for gfc_get_class_from_gfc_expr.

    (cherry picked from commit 0175d45d14b1f9ebc4c15ea5bafcda655c37fc35)

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

* [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type
       [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
                   ` (11 preceding siblings ...)
  2021-01-07 13:05 ` cvs-commit at gcc dot gnu.org
@ 2021-01-07 15:23 ` pault at gcc dot gnu.org
  12 siblings, 0 replies; 13+ messages in thread
From: pault at gcc dot gnu.org @ 2021-01-07 15:23 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #44 from Paul Thomas <pault at gcc dot gnu.org> ---
Closed on 9- thru' 11-branches.

Thanks for the report.

Paul

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

end of thread, other threads:[~2021-01-07 15:23 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-83118-4@http.gcc.gnu.org/bugzilla/>
2020-05-01 15:23 ` [Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type ro at gcc dot gnu.org
2020-05-01 15:25 ` ro at gcc dot gnu.org
2020-05-02 12:22 ` pault at gcc dot gnu.org
2020-05-07 21:04 ` vladimir.fuka at gmail dot com
2020-10-21  5:59 ` pault at gcc dot gnu.org
2020-10-21 16:25 ` pault at gcc dot gnu.org
2020-12-18 14:00 ` cvs-commit at gcc dot gnu.org
2020-12-26 15:08 ` cvs-commit at gcc dot gnu.org
2021-01-07 11:19 ` cvs-commit at gcc dot gnu.org
2021-01-07 11:21 ` cvs-commit at gcc dot gnu.org
2021-01-07 11:34 ` cvs-commit at gcc dot gnu.org
2021-01-07 13:05 ` cvs-commit at gcc dot gnu.org
2021-01-07 15:23 ` 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).