[Bug fortran/84640] gcc/fortran/simplify.c:2587:9: runtime error: pointer index expression with base 0x0000090de160 overflowed to 0xffffffffc0632960
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 17 10:51:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84640
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Can be easily seen with:
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c
index a970e017c90..66d9450d457 100644
--- a/gcc/fortran/simplify.c
+++ b/gcc/fortran/simplify.c
@@ -2171,7 +2171,9 @@ gfc_simplify_cshift (gfc_expr *array, gfc_expr *shift,
gfc_expr *dim)
while (count[n] == extent[n])
{
count[n] = 0;
+ fprintf (stderr, "p: %p, ss_ex[n]: %ld\n", rptr, ss_ex[n]);
rptr -= ss_ex[n];
+ fprintf (stderr, "p2: %p\n", rptr);
sptr -= ss_ex[n];
if (shiftvec)
hptr -= hs_ex[n];
Then:
$ ./gcc/xgcc -Bgcc
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/simplify_cshift_1.f90 -c
-O
p: 0x7824c48, ss_ex[n]: 433791696997
p2: 0xfffffcd807824920
p: 0x400000780db40, ss_ex[n]: 433791696997
p2: 0x3fcd80780d818
p: 0x40000078170e0, ss_ex[n]: 433791696997
p2: 0x3fcd807816db8
p: 0x4000007818be0, ss_ex[n]: 12
p2: 0x4000007818b80
p: 0x80781f5d0, ss_ex[n]: 126035584
p2: 0x7cb68c1d0
p: 0x10078216b0, ss_ex[n]: -1008
p2: 0x1007823630
p: 0x784b9a8, ss_ex[n]: 8589921888
p2: 0xfffffff0078646a8
So rptr points to an invalid memory. Question is whether a store/load from the
address can happen?
More information about the Gcc-bugs
mailing list