Я немного обновляю openmp и попал в эту странную ситуацию.Сбросив кучу, я создал этот минимальный тривиальный случай, который показывает проблему
program ex2
implicit none
integer, parameter :: n=10000000
integer :: i
real :: x(n)
do i=1,n
x(i) = 0.0d0
enddo
end program
без заданных флагов, gfortran 4.3.4 на mac (10.6) компилируется, и программа выполняется правильно.
Однако, если я включаю openmp с -fopenmp, программа завершается с ошибкой сегментации.По-видимому, никакой код не выполняется, так как он сразу падает.Как видите, openmp никогда не используется в коде для распараллеливания чего-либо.Я пытался изменить размер стека, используя ulimit -fmax-stack-var-size, и в любом случае десять миллионов реалов - это не то, что я определяю для большого массива.