Welcome all, I have a following code: Code (Text): program aaaa implicit none double precision, dimension(:), allocatable :: inp,outp integer ::n,i read(*,*) n allocate(inp(n),outp(n)) write(*,*) allocated(inp), allocated(outp) write(*,*) inp(1) inp=cshift(outp,-size(outp)/2) write(*,*) inp(1) end program aaaa It really does nothing - it just applies cyclic rotation of dynamically created array. But when I use is for large n (in my case - over 10^6) then Segmentation fault occurs. More precisely this is the output: Code (Text): T T 0.000000000000000E+000 Segmentation fault I also discovered that by increasing the limit for stack memory the segmentation fault can be avoided. Clearly I am using cshift not appropriately. Additionally the code perform does not exists when the compilation is done with gfortran, but it exists with ifort v12.0.0. What is going on? I tried to compile with -check all, but it provides no info.