[Bug fortran/104227] [9/10/11/12 Regression] ICE virtual memory exhausted: Cannot allocate memory

anlauf at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jan 25 20:46:05 GMT 2022


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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
                 CC|                            |anlauf at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2022-01-25

--- Comment #1 from anlauf at gcc dot gnu.org ---
Obvious fix:

diff --git a/gcc/fortran/check.cc b/gcc/fortran/check.cc
index 4fa05ee7e9b..d6c6767ae9e 100644
--- a/gcc/fortran/check.cc
+++ b/gcc/fortran/check.cc
@@ -6151,7 +6151,7 @@ gfc_calculate_transfer_sizes (gfc_expr *source, gfc_expr
*mold, gfc_expr *size,
    * If SIZE is present, the result is an array of rank one and size SIZE.
    */
   if (result_elt_size == 0 && *source_size > 0 && !size
-      && mold->expr_type == EXPR_ARRAY)
+      && (mold->expr_type == EXPR_ARRAY || mold->rank))
     {
       gfc_error ("%<MOLD%> argument of %<TRANSFER%> intrinsic at %L is an "
                 "array and shall not have storage size 0 when %<SOURCE%> "


More information about the Gcc-bugs mailing list