aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <Thomas.Koenig@online.de>2007-03-04 08:03:34 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2007-03-04 08:03:34 +0000
commit3d1f465aff3484eafd4e10e38bc7f7331a43d0dd (patch)
treea61d8416540e00b4c26389a23d6836b40ab750f5 /gcc
parentdda10672f1a0f505dd6f8133a5483b8ee846f233 (diff)
downloadgcc-3d1f465aff3484eafd4e10e38bc7f7331a43d0dd.zip
gcc-3d1f465aff3484eafd4e10e38bc7f7331a43d0dd.tar.gz
gcc-3d1f465aff3484eafd4e10e38bc7f7331a43d0dd.tar.bz2
re PR fortran/30981 ([4.1 only] a ** exp fails for integer exponents if exp is "-huge()-1" (endless loop))
2007-03-04 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/30981 * m4/pow_m4: Use appropriate unsigned int type for u. * generated/pow_c10_i16.c: Regenerated. * generated/pow_c10_i4.c: Regenerated. * generated/pow_c10_i8.c: Regenerated. * generated/pow_c16_i16.c: Regenerated. * generated/pow_c16_i4.c: Regenerated. * generated/pow_c16_i8.c: Regenerated. * generated/pow_c4_i16.c: Regenerated. * generated/pow_c4_i4.c: Regenerated. * generated/pow_c4_i8.c: Regenerated. * generated/pow_c8_i16.c: Regenerated. * generated/pow_c8_i4.c: Regenerated. * generated/pow_c8_i8.c: Regenerated. * generated/pow_i16_i16.c: Regenerated. * generated/pow_i16_i4.c: Regenerated. * generated/pow_i16_i8.c: Regenerated. * generated/pow_i4_i16.c: Regenerated. * generated/pow_i4_i4.c: Regenerated. * generated/pow_i4_i8.c: Regenerated. * generated/pow_i8_i16.c: Regenerated. * generated/pow_i8_i4.c: Regenerated. * generated/pow_i8_i8.c: Regenerated. * generated/pow_r10_i16.c: Regenerated. * generated/pow_r10_i4.c: Regenerated. * generated/pow_r10_i8.c: Regenerated. * generated/pow_r16_i16.c: Regenerated. * generated/pow_r16_i4.c: Regenerated. * generated/pow_r16_i8.c: Regenerated. * generated/pow_r4_i16.c: Regenerated. * generated/pow_r4_i4.c: Regenerated. * generated/pow_r4_i8.c: Regenerated. * generated/pow_r8_i16.c: Regenerated. * generated/pow_r8_i4.c: Regenerated. * generated/pow_r8_i8.c: Regenerated. 2007-03-04 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/30981 * gfortran.dg/integer_exponentiation_1.f90: New test. From-SVN: r122522
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/integer_exponentiation_1.f906
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 097016de..309ea4a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-03-04 Thomas Koenig <Thomas.Koenig@online.de>
+
+ PR libfortran/30981
+ * gfortran.dg/integer_exponentiation_1.f90: New test.
+
2007-03-04 Nathan Sidwell <nathan@codesourcery.com>
* gcc.target/m68k/m68k.exp: New.
diff --git a/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90 b/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90
new file mode 100644
index 0000000..57d7466
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/integer_exponentiation_1.f90
@@ -0,0 +1,6 @@
+! { dg-do run }
+! PR 30981 - this used to go into an endless loop during execution.
+program test
+ a = 3.0
+ b = a**(-2147483647-1) ! { dg-warning "Integer outside symmetric range" }
+end program test