[Bug fortran/103789] ICE when providing kind argument to mask{l,r}

anlauf at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Dec 28 21:21:17 GMT 2021


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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #3 from anlauf at gcc dot gnu.org ---
(In reply to Mikael Morin from comment #1)
> maskr is the same.
> 
> Fix probably similar to PR87851.

If you mean:

diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 238b1b72385..f5056af371e 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -11500,6 +11500,8 @@ arg_evaluated_for_scalarization (gfc_intrinsic_sym
*function,
        {
          case GFC_ISYM_INDEX:
          case GFC_ISYM_LEN_TRIM:
+         case GFC_ISYM_MASKL:
+         case GFC_ISYM_MASKR:
            if (strcmp ("kind", gfc_dummy_arg_get_name (*dummy_arg)) == 0)
              return false;
          /* Fallthrough.  */

This works for the testcase in comment#0 and is pre-approved.


More information about the Gcc-bugs mailing list