+2019-02-13 Martin Liska <mliska@suse.cz>
+
+ PR fortran/88649
+ * resolve.c (resolve_operator): Initialize 't' right
+ after function entry. Skip switch (e->value.op.op)
+ for -fdec operands that become function calls.
+
2019-02-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71723
gfc_expr *op1, *op2;
char msg[200];
bool dual_locus_error;
- bool t;
+ bool t = true;
/* Resolve all subnodes-- give them types. */
if (op2->ts.type != e->ts.type || op2->ts.kind != e->ts.kind)
gfc_convert_type (op2, &e->ts, 1);
e = logical_to_bitwise (e);
- break;
+ goto simplify_op;
}
sprintf (msg, _("Operands of logical operator %%<%s%%> at %%L are %s/%s"),
e->ts.type = BT_INTEGER;
e->ts.kind = op1->ts.kind;
e = logical_to_bitwise (e);
- break;
+ goto simplify_op;
}
if (op1->ts.type == BT_LOGICAL)
/* Deal with arrayness of an operand through an operator. */
- t = true;
-
switch (e->value.op.op)
{
case INTRINSIC_PLUS:
break;
}
+simplify_op:
+
/* Attempt to simplify the expression. */
if (t)
{