Reproducer for gfortran bug 98141#7
Conversation
|
|
||
| project(gfortran-bug Fortran) | ||
|
|
||
| add_compiler_test(SOURCES gfortran-20201204.f90 RUN_ONLY LABELS PR98141) |
There was a problem hiding this comment.
I'm guessing this should be RUN_ONLY, since I expect it to compile but to segfault when run.
|
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 programI'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. |
This PR adds a minimal reproducer for gfortran bug 98141.