Commit c0d15a77 by Mikael Morin

re PR fortran/45380 (ICE in gfc_conv_intrinsic_any_all at -O{n>0})

2010-08-23  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/45380
	* frontend-passes.c (optimize_equality): Don't optimize array equality

From-SVN: r163484
parent 0b3f0088
2010-08-23 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/45380
* frontend-passes.c (optimize_equality): Don't optimize array equality
2010-08-23 Janus Weil <janus@gcc.gnu.org>
PR fortran/45366
......
......@@ -399,6 +399,13 @@ optimize_equality (gfc_expr *e, bool equal)
return true;
}
/* An expression of type EXPR_CONSTANT is only valid for scalars. */
/* TODO: A scalar constant may be acceptable in some cases (the scalarizer
handles them well). However, there are also cases that need a non-scalar
argument. For example the any intrinsic. See PR 45380. */
if (e->rank > 0)
return false;
/* Check for direct comparison between identical variables. Don't compare
REAL or COMPLEX because of NaN checks. */
if (op1->expr_type == EXPR_VARIABLE
......
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