2 ! { dg-options "-O0 -fdump-tree-original" }
6 ! CONTIGUOUS compile-time tests: Check that contigous
10 integer, pointer, contiguous
:: test1_a(:)
11 integer, target
, dimension(3) :: aa
14 call foo(test1_a(::1))
15 call foo(test1_a(::2))
22 ! For the first two no pack is done; for the third one, an array descriptor
23 ! (cf. below test3) is created for packing.
25 ! { dg-final { scan-tree-dump-times "_internal_pack.*test1_a" 0 "original" } }
26 ! { dg-final { scan-tree-dump-times "_internal_unpack.*test1_a" 0 "original" } }
29 subroutine t2(a1
,b1
,c2
,d2
)
30 integer, pointer, contiguous
:: a1(:), b1(:)
31 integer, pointer :: c2(:), d2(:)
36 ! { dg-final { scan-tree-dump-times "= a1->dim.0..stride;" 0 "original" } }
37 ! { dg-final { scan-tree-dump-times "= b1->dim.0..stride;" 0 "original" } }
38 ! { dg-final { scan-tree-dump-times "= c2->dim.0..stride;" 1 "original" } }
39 ! { dg-final { scan-tree-dump-times "= d2->dim.0..stride;" 1 "original" } }
44 integer :: test3_a(8),i
46 call foo(test3_a(::1))
47 call foo(test3_a(::2))
48 call bar(test3_a(::1))
49 call bar(test3_a(::2))
52 integer, contiguous
:: x(:)