------- Comment #3 from tkoenig at gcc dot gnu dot org 2008-07-02 12:34 ------- I caused this.
Here's an obvious patch: Index: iresolve.c =================================================================== --- iresolve.c (revision 137255) +++ iresolve.c (working copy) @@ -106,7 +106,7 @@ resolve_mask_arg (gfc_expr *mask) /* In the library, we access the mask with a GFC_LOGICAL_1 argument. No need to waste memory if we are about to create a temporary array. */ - if (mask->expr_type == EXPR_OP) + if (mask->expr_type == EXPR_OP && mask->ts.kind != 1) { ts.type = BT_LOGICAL; ts.kind = 1; -- tkoenig at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |tkoenig at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2008-07-01 00:51:28 |2008-07-02 12:34:13 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36681