fortran-compiler-tests
fortran-compiler-tests copied to clipboard
Reproducer for gfortran bug 98141
This PR adds a minimal reproducer for gfortran bug 98141.
Looking at your example and drawing on past experience, I suspected that the problem was with the sourced allocation statement, and that does appear the case (although there may be multiple compiler bugs here). Here's a minimal example that triggers a segfault:
class(*), allocatable :: a, b
allocate(character(len=0)::a)
allocate(b, source=a)
end
Looking at your example and drawing on past experience, I suspected that the problem was with the sourced allocation statement, and that does appear the case (although there may be multiple compiler bugs here). Here's a minimal example that triggers a segfault:
class(*), allocatable :: a, b allocate(character(len=0)::a) allocate(b, source=a) end
Nice! Strangely, this doesn't work
program foo
class(*), allocatable :: a, b
allocate(a, source='') !! No problem
allocate(b, source=a) !! Segfaults
end program
I'll add these examples to the bug report.
I'll also pare down the example in this MR and add the new examples.
This does work, however:
program foo
class(*), allocatable :: a
character(len=0) :: s
allocate(a, source=s)
end program
This latest version has the minimal examples we found.