Regression: ICE with do concurrent and internal subprogram

Damian Rouson rouson@stanford.edu
Mon Jan 6 23:07:00 GMT 2014


Interestingly, the ICE disappears if I switch to a regular do loop instead of “do concurrent.”  That surprises me a bit because I didn’t realize gfortran was doing anything special with “do concurrent” yet.  I assumed it was just converting them to regular do loops in the front end.  Are do loops being used to do something that speeds performance?  I feature “do concurrent” somewhat prominently in my classes and talks on modern Fortran so it would be great to know of any progress on this.

Damian




On Jan 6, 2014, at 3:01 PM, Janus Weil <janus@gcc.gnu.org> wrote:

>> Done.  PR 59706
> 
> Thx.
> 
> I am currently trying hard to get our regression-level down a bit, but
> unfortunately new ones keep popping up :(
> 
> This one smells more like a middle-end problem ...
> 
> Cheers,
> Janus
> 
> 
> 
>> On Jan 6, 2014, at 2:31 PM, Janus Weil <janus@gcc.gnu.org> wrote:
>> 
>>> Confirmed. Can you file a PR?
>>> 
>>> Thanks,
>>> Janus
>>> 
>>> 2014/1/6 Damian Rouson <rouson@stanford.edu>:
>>>> The current trunk gives an ICE when a procedure contains a “do concurrent” and an internal subprogram:
>>>> 
>>>> $ cat doconcurrent.f90
>>>> subroutine ice_with_gfortran49()
>>>> integer i
>>>> do concurrent (i=1:2)
>>>> end do
>>>> contains
>>>> subroutine f()
>>>> end subroutine
>>>> end subroutine
>>>> $ gfortran -c doconcurrent.f90
>>>> doconcurrent.f90: In function 'ice_with_gfortran49':
>>>> doconcurrent.f90:1:0: internal compiler error: Segmentation fault: 11
>>>> subroutine ice_with_gfortran49()
>>>> ^
>>>> 
>>>> doconcurrent.f90:1:0: internal compiler error: Abort trap: 6
>>>> gfortran: internal compiler error: Abort trap: 6 (program f951)
>>>> Abort trap: 6
>>>> localhost:gnu rouson$ gfortran --version
>>>> GNU Fortran (MacPorts gcc49 4.9-20140105_0) 4.9.0 20140105 (experimental)
>>>> 
>>>> ————
>>>> 
>>>> gfortran 4.8.2 compiles the above code without error.
>>>> 
>>>> Damian
>>>> 
>> 



More information about the Fortran mailing list