Commit 22aa73bd by Steven G. Kargl

re PR fortran/91553 (ICE in gfc_real2complex, at fortran/arith.c:2208)

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
parent 84e33251
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
* io.c (gfc_match_inquire): null() cannot be in an iolength inquire
list.
......
......@@ -8503,6 +8503,12 @@ gfc_convert_constant (gfc_expr *e, bt type, int kind)
{
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
* gfortran.dg/pr91642.f90: New test.
......
! { 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment