Commit 15b8fd49 by Thomas Koenig Committed by Thomas Koenig

arith.c (arith_power): If simplifying integer power expression to zero...

2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>

	* arith.c (arith_power):  If simplifying integer power expression
	to zero, warn if -Winteger-division is given.

2017-01-23  Thomas Koenig  <tkoenig@netcologne.de>

	* gfortran.dg/integer_exponentiation_7.f90:  New test.

From-SVN: r244830
parent 53d190c1
2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
* arith.c (arith_power): If simplifying integer power expression
to zero, warn if -Winteger-division is given.
2017-01-22 Jakub Jelinek <jakub@redhat.com> 2017-01-22 Jakub Jelinek <jakub@redhat.com>
PR fortran/79154 PR fortran/79154
......
...@@ -874,6 +874,10 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp) ...@@ -874,6 +874,10 @@ arith_power (gfc_expr *op1, gfc_expr *op2, gfc_expr **resultp)
{ {
/* if op2 < 0, op1**op2 == 0 because abs(op1) > 1. */ /* if op2 < 0, op1**op2 == 0 because abs(op1) > 1. */
mpz_set_si (result->value.integer, 0); mpz_set_si (result->value.integer, 0);
if (warn_integer_division)
gfc_warning_now (OPT_Winteger_division, "Negative "
"exponent of integer has zero "
"result at %L", &result->where);
} }
else if (gfc_extract_int (op2, &power)) else if (gfc_extract_int (op2, &power))
{ {
......
2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
* gfortran.dg/integer_exponentiation_7.f90: New test.
2017-01-23 Bernd Schmidt <bschmidt@redhat.com> 2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/78634 PR rtl-optimization/78634
......
! { dg-do compile }
! { dg-options "-Winteger-division" }
program main
print *,10**(-3) ! { dg-warning "Negative exponent of integer has zero result" }
end program main
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