Commit 293155b0 by Toon Moene Committed by Toon Moene

trans-expr.c (gfc_conv_cst_int_power): Compute x**(-n) by converting it to…

trans-expr.c (gfc_conv_cst_int_power): Compute x**(-n) by converting it to (1/x)**n instead of 1/x**n.

2004-06-09  Toon Moene  <toon@moene.indiv.nluug.nl>

	* trans-expr.c (gfc_conv_cst_int_power): Compute
	x**(-n) by converting it to (1/x)**n instead of
	1/x**n.

From-SVN: r82850
parent dc88d66f
2004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>
* trans-expr.c (gfc_conv_cst_int_power): Compute
x**(-n) by converting it to (1/x)**n instead of
1/x**n.
2004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/13372
......
......@@ -526,13 +526,14 @@ gfc_conv_cst_int_power (gfc_se * se, tree lhs, tree rhs)
memset (vartmp, 0, sizeof (vartmp));
vartmp[1] = lhs;
se->expr = gfc_conv_powi (se, n, vartmp);
if (sgn == -1)
{
tmp = gfc_build_const (type, integer_one_node);
se->expr = build (RDIV_EXPR, type, tmp, se->expr);
vartmp[1] = build (RDIV_EXPR, type, tmp, vartmp[1]);
}
se->expr = gfc_conv_powi (se, n, vartmp);
return 1;
}
......
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