[Bug fortran/83118] [8/9/10/11 Regression] Bad intrinsic assignment of class(*) array component of derived type

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Dec 26 15:08:28 GMT 2020


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.


More information about the Gcc-bugs mailing list