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
This commit is contained in:
parent
53d190c120
commit
15b8fd499d
@ -1,3 +1,8 @@
|
||||
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>
|
||||
|
||||
PR fortran/79154
|
||||
|
@ -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. */
|
||||
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))
|
||||
{
|
||||
|
@ -1,3 +1,7 @@
|
||||
2017-01-23 Thomas Koenig <tkoenig@netcologne.de>
|
||||
|
||||
* gfortran.dg/integer_exponentiation_7.f90: New test.
|
||||
|
||||
2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
|
||||
|
||||
PR rtl-optimization/78634
|
||||
|
5
gcc/testsuite/gfortran.dg/integer_exponentiation_7.f90
Normal file
5
gcc/testsuite/gfortran.dg/integer_exponentiation_7.f90
Normal file
@ -0,0 +1,5 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-Winteger-division" }
|
||||
program main
|
||||
print *,10**(-3) ! { dg-warning "Negative exponent of integer has zero result" }
|
||||
end program main
|
Loading…
Reference in New Issue
Block a user