https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84523
--- Comment #2 from Harald Anlauf <anlauf at gmx dot de> ---
(In reply to Thomas Koenig from comment #1)
> Doesn't crash for me, but I get a valgrind error:
Trying -fsanitize=undefined, I get:
### destruct: size(rc% spots)= 80
### destruct: allocated (vm) = F
gfcbug148.f90:33: runtime error: member access within misaligned address
0x08053a1b for type 'struct t_spot', which requires 4 byte alignment
0x08053a1b: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
^
At line 33 of file gfcbug148.f90
Fortran runtime error: Attempt to DEALLOCATE unallocated 'rc'
Error termination. Backtrace:
#0 0x804947b in destruct
at /home/anlauf/gcc-bugs/gfcbug148.f90:33
#1 0x8049975 in gfcbug148
at /home/anlauf/gcc-bugs/gfcbug148.f90:12
#2 0x804a6d4 in main
at /home/anlauf/gcc-bugs/gfcbug148.f90:13
Modifying line 33 to
if (allocated (rc% spots(k)% vm)) print *, "hello"
it appears that it is the test that fails for me (on a 32-bit system).
I tried to compare the dump-tree-original of 8-trunk to 7.2, but
failed to understand the differences, which are probably due to the
changes in array descriptors.