http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59599

Mikael Morin <mikael at gcc dot gnu.org> changed:

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

--- Comment #3 from Mikael Morin <mikael at gcc dot gnu.org> ---
in trans-intrinsic's gfc_conv_intrinsic_function_args:

      if (e->ts.type == BT_CHARACTER)
    {
      gfc_conv_expr (&argse, e);
      gfc_conv_string_parameter (&argse);
          argarray[curr_arg++] = argse.string_length;
      gcc_assert (curr_arg < nargs);
    }

we evaluate the string lenth into argarray[curr_arg], but argarray[curr_arg] is
supposed to be the place where the next function argument lies.  So in the
testcase, we don't evaluate the "kind" argument to "ichar" and all hell breaks
loose from that.

Reply via email to