[Bug fortran/38095] character ICE

burnus at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Nov 12 22:38:00 GMT 2008



------- Comment #7 from burnus at gcc dot gnu dot org  2008-11-12 22:37 -------
Looks as if the code is valid. Valgrind shows:

==2910== Invalid read of size 4
==2910==    at 0x4B1005: gfc_apply_interface_mapping_to_expr
(trans-expr.c:1916)
==2910==    by 0x4B6FBE: gfc_apply_interface_mapping (trans-expr.c:2133)
==2910==    by 0x49D13E: gfc_conv_expr_descriptor (trans-array.c:4717)
==2910==    by 0x4A033B: gfc_conv_array_parameter (trans-array.c:5272)
==2910==    by 0x4B1A80: gfc_conv_function_call (trans-expr.c:2680)

That line is:

  switch (expr->value.function.isym->id)
    {
    case GFC_ISYM_LEN:
      /* TODO figure out why this condition is necessary.  */
      if (sym->attr.function
            && arg1->ts.cl->length->expr_type != EXPR_CONSTANT
            && arg1->ts.cl->length->expr_type != EXPR_VARIABLE) // <- LINE 1916

The TODO was added by Paul in Rev. 130988. The cited bugreports were
PR 31213, PR 33888 and PR 33998.


-- 

burnus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2008-11-12 22:37:24
               date|                            |


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



More information about the Gcc-bugs mailing list