[Bug fortran/91784] ICE in gfc_real2complex, at fortran/arith.c:2208
kargl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 16 19:39:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91784
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P4
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2019-09-16
CC| |kargl at gcc dot gnu.org
Assignee|unassigned at gcc dot gnu.org |kargl at gcc dot gnu.org
Target Milestone|--- |9.3
Ever confirmed|0 |1
--- Comment #1 from kargl at gcc dot gnu.org ---
Ugh. I have a patch that fixes this one, too.
I think, however, that we're missing a simplification
step while matching the array constructor.
(Watch for copy-n-paste tab to spaces corruption)
Index: gcc/fortran/simplify.c
===================================================================
--- gcc/fortran/simplify.c (revision 275730)
+++ gcc/fortran/simplify.c (working copy)
@@ -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
More information about the Gcc-bugs
mailing list