3 ! Test the fix for PR34640. In the first version of the fix, the first
4 ! testcase in PR51218 failed with a segfault. This test extracts the
5 ! failing part and checks that all is well.
8 integer :: n
= 0 ! number of elements
12 integer :: n
= 0 ! number of elements
13 integer :: n_b
= 0 ! number of blocks
14 type (t_info_block
) ,pointer :: b (:) => NULL() ! info blocks
18 integer :: n
= 0 ! number of elements
19 real ,pointer :: x(:) => NULL() ! coefficients
20 end type t_vector_segm
23 type (t_dec_info
) ,pointer :: info
=> NULL() ! decomposition info
24 integer :: n
= 0 ! number of elements
25 integer :: n_s
= 0 ! number of segments
26 integer :: alloc_l
= 0 ! allocation level
27 type (t_vector_segm
) ,pointer :: s (:) => NULL() ! vector blocks
32 type(t_vector_segm
), pointer :: ss
37 allocate (ss
%x(2), source
= [1.0, 2.0]*real(i
))
40 ! These lines would segfault.
41 if (int (sum (z
%s(1)%x
)) .ne
. 3) STOP 1
42 if (int (sum (z
%s(1)%x
* z
%s(2)%x
)) .ne
. 10) STOP 2