re PR fortran/91784 (ICE in gfc_real2complex, at fortran/arith.c:2208)
2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91784 * simplify.c (gfc_convert_constant): Simplify expression if the expres ion type is EXPR_OP. 2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/91784 * gfortran.dg/pr91784.f90: New test. From-SVN: r276474
This commit is contained in:
parent
307de10071
commit
c20a90e0c8
@ -1,3 +1,9 @@
|
||||
2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/91784
|
||||
* simplify.c (gfc_convert_constant): Simplify expression if the
|
||||
expression type is EXPR_OP.
|
||||
|
||||
2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/91785
|
||||
|
@ -8508,10 +8508,10 @@ 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)
|
||||
else if (c->expr->expr_type == EXPR_OP)
|
||||
{
|
||||
gfc_simplify_expr (c->expr, 1);
|
||||
if (!gfc_simplify_expr (c->expr, 1))
|
||||
return &gfc_bad_expr;
|
||||
tmp = f (c->expr, kind);
|
||||
}
|
||||
else
|
||||
|
@ -1,3 +1,8 @@
|
||||
2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/91784
|
||||
* gfortran.dg/pr91784.f90: New test.
|
||||
|
||||
2019-10-02 Steven G. Kargl <kargl@gcc.gnu.org>
|
||||
|
||||
PR fortran/91785
|
||||
|
9
gcc/testsuite/gfortran.dg/pr91784.f90
Normal file
9
gcc/testsuite/gfortran.dg/pr91784.f90
Normal file
@ -0,0 +1,9 @@
|
||||
! { dg-do run }
|
||||
! PR fortran/91784
|
||||
! Code originally contributed by Gerhard Steinmetz
|
||||
program p
|
||||
complex :: x(1)
|
||||
x = (1.0, 2.0) * [real :: -(3.0 + 4.0)]
|
||||
if (int(real(x(1))) /= -7) stop 1
|
||||
if (int(aimag(x(1))) /= -14) stop 2
|
||||
end
|
Loading…
Reference in New Issue
Block a user