* cfgloopmanip.c (duplicate_loop_to_header_edge): Cleanup profile
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr61209.f90
blob481714daeee459f39f0fb8ac9813e1dbf00f6ed3
1 ! { dg-do compile }
2 ! { dg-options "-O -fbounds-check" }
3 MODULE array_types
4 INTERFACE array_data
5 MODULE PROCEDURE array_data_i1d
6 END INTERFACE
7 TYPE array_i1d_type
8 END TYPE array_i1d_type
9 TYPE array_i1d_obj
10 TYPE(array_i1d_type), POINTER :: low
11 END TYPE array_i1d_obj
12 TYPE dbcsr_type
13 TYPE(array_i1d_obj) :: local_rows
14 LOGICAL :: local_indexing
15 END TYPE dbcsr_type
16 TYPE dbcsr_obj
17 TYPE(dbcsr_type) :: m
18 END TYPE dbcsr_obj
19 CONTAINS
20 FUNCTION array_data_i1d(array) RESULT (DATA)
21 TYPE(array_i1d_obj), INTENT(IN) :: array
22 INTEGER, DIMENSION(:), POINTER :: DATA
23 IF (ASSOCIATED (array%low)) THEN
24 ENDIF
25 END FUNCTION array_data_i1d
26 SUBROUTINE dbcsr_make_index_list (matrix, thread_redist)
27 TYPE(dbcsr_obj), INTENT(INOUT) :: matrix
28 LOGICAL, INTENT(IN) :: thread_redist
29 INTEGER, ALLOCATABLE, DIMENSION(:, :) :: blki
30 INTEGER, DIMENSION(:), POINTER :: local_rows, td
31 INTEGER :: blk
32 nthreads = 0
33 IF (nthreads .GT. 0 .AND. thread_redist) THEN
34 IF (matrix%m%local_indexing) THEN
35 local_rows => array_data (matrix%m%local_rows)
36 ENDIF
37 CALL dbcsr_build_row_index_inplace (thr_c, nthreads)
38 IF (matrix%m%local_indexing) THEN
39 DO blk = 1, nblks
40 IF (td(local_rows(blki(1, blk))) .EQ. ithread) THEN
41 ENDIF
42 ENDDO
43 ENDIF
44 ENDIF
45 END SUBROUTINE dbcsr_make_index_list
46 END MODULE