2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91553
* simplify.c (gfc_convert_constant): During conversion check if the
constant is enclosed in parenthesis, and simplify expression.
2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91553
* gfortran.dg/pr91553.f90: New test.
From-SVN: r275657
+2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/91553
+ * simplify.c (gfc_convert_constant): During conversion check if the
+ constant is enclosed in parenthesis, and simplify expression.
+
2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91642
{
if (c->expr->expr_type == EXPR_ARRAY)
tmp = gfc_convert_constant (c->expr, type, kind);
+ else if (c->expr->expr_type == EXPR_OP
+ && c->expr->value.op.op == INTRINSIC_PARENTHESES)
+ {
+ gfc_simplify_expr (c->expr, 1);
+ tmp = f (c->expr, kind);
+ }
else
tmp = f (c->expr, kind);
}
+2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/91553
+ * gfortran.dg/pr91553.f90: New test.
+
2019-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/91642
--- /dev/null
+! { dg-do run }
+! Code contributed by Gerhard Steinmetz
+program p
+ complex z(1)
+ z = (1.0, 2.0) * [real :: (3.0 + 4.0)]
+ if (real(z(1)) /= 7.) stop 1
+ if (aimag(z(1)) /= 14.) stop 2
+end