http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49308

--- Comment #7 from Joost VandeVondele <Joost.VandeVondele at pci dot uzh.ch> 
2011-06-07 08:27:13 UTC ---
reduced testcase:

> gfortran-trunk -c -O2  -funroll-loops -g bug.f90
bug.f90: In function ‘calculate_first_density_matrix’:
bug.f90:29:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

> cat bug.f90
MODULE qs_initial_guess
  TYPE real_matrix_type
    INTEGER                                           ::  sparsity_id
  END TYPE real_matrix_type
  TYPE real_matrix_p_type
    TYPE(real_matrix_type), POINTER :: matrix
  END TYPE real_matrix_p_type
  TYPE qs_environment_type
     TYPE(real_matrix_p_type), DIMENSION(:), POINTER :: matrix_s
  END TYPE
  INTEGER, PARAMETER :: default_path_length=250
CONTAINS
  SUBROUTINE calculate_first_density_matrix()
    TYPE(qs_environment_type), POINTER       :: qs_env
    CHARACTER(LEN=default_path_length)       :: file_name
    CHARACTER(LEN=default_path_length)       :: filename
    CHARACTER(LEN=default_path_length)       :: cp_to_string
    LOGICAL                                  :: id_equal
    DO i=1,nvec
       j = i - 1
       IF (j/=0) filename = TRIM(file_name)//".bak-"//ADJUSTL(cp_to_string(j))
    END DO
    DO ispin=1, SIZE(qs_env%matrix_s)
       id_equal=(qs_env%matrix_s(ispin)%matrix%sparsity_id&
          ==qs_env%matrix_s(1)%matrix%sparsity_id)
       IF(.NOT.(id_equal)) &
         CALL cp_a_l(0==1,cp_failure_level,routineP,39)
    ENDDO
  END SUBROUTINE calculate_first_density_matrix
END MODULE qs_initial_guess

Reply via email to