I attached a short code that produces segmentation faults (or strange cygwin errors). The segmentation faults only occur when compiling with both -funroll-loops and -O3. If one or the other or neither are used, the program runs fine. The code has several examples. I attached a stackdump for the case of the three write statements.
System : WinXP, cygwin, gcc version 4.3.0 20080212 (experimental) ============================== subroutine test_sub(label) character(len=*),intent(in) :: label character (len=(len(label)+20)) :: c1 character (len=(len(label)+20)) :: c2 character (len=(len(label)+20)) :: c3 ! the below 3 lines cause a segmentation fault ! print*, len(c1) ! print*, len(c2) ! print*, len(c3) ! the below 2 lines produce strange cygwin errors ! a ### sig_send: wait for sig_complete event failed, signal -34, rc -1, Win32 error 6 ! print*, len(c1) ! print*, len(c2) ! the below 1 lines produces no problem ! print*, len(c3) ! the below 3 lines cause a segmentation fault (I gave the stackdump for this case) write(c1,'(A)') 'a' write(c2,'(A)') 'b' write(c3,'(A)') 'c' ! the below 2 lines produce strange cygwin erros ! a ### sig_send: wait for sig_complete event failed, signal -34, rc -1, Win32 error 6 ! write(c1,'(A)') 'a' ! write(c2,'(A)') 'b' ! the below 1 lines produces no problem ! write(c1,'(A)') 'a' end subroutine test_sub !====================== program test call test_sub('a') print*, 'done' end program test !====================== -- Summary: Segmentation fault with character strings only when compiling with -funroll-loops and -O3 Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: john dot young at jrc dot co dot jp GCC target triplet: i686-pc-cywgin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35952