[Bug fortran/61775] Allocatable array initialized by implied-do loop array constructor gives invalid memory reference
kargl at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 13 18:33:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61775
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |WAITING
CC| |kargl at gcc dot gnu.org
--- Comment #7 from kargl at gcc dot gnu.org ---
I think that this is now fixed on trunk. Don't know which patch.
% gfcx -o z a.f90 && ./z
10000.0000
% gfcx -o z a.f90 -O2 -fcheck=all && ./z
10000.0000
% valgrind ./z
==85120== Memcheck, a memory error detector
==85120== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==85120== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==85120== Command: ./z
==85120==
10000.0000
==85120==
==85120== HEAP SUMMARY:
==85120== in use at exit: 0 bytes in 0 blocks
==85120== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==85120==
==85120== All heap blocks were freed -- no leaks are possible
==85120==
==85120== For counts of detected and suppressed errors, rerun with: -v
==85120== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
I've read the tree dump for -fdump-tree-optimized and it appears to
do the right think with expanding the constructor, allocating, and
freeing memory.
Both 6-branch and 7-branch still fail
% gfc6 -o z a.f90 -O2 -fcheck=all && ./z
Segmentation fault (core dumped)
% gfc7 -o z a.f90 -O2 -fcheck=all && ./z
Segmentation fault (core dumped)
I would like to close this as fixed after committing the following
testcase
program pi
real , allocatable :: x(:)
integer :: n
n = 10000
x = [ (i,i=1,n) ]
if (x(n) /= 10000) stop 1
end
More information about the Gcc-bugs
mailing list