2 ! { dg-options "-fcoarray=lib -fdump-tree-original" }
4 ! Check whether TOKEN and OFFSET are correctly propagated
17 call sub (caf
, caf_dt
%b
)
19 if (caf
/= -99 .or
. caf_dt
%b
/= -101) call abort ()
22 if (caf
/= 124) call abort ()
25 subroutine sub (x1
, x2
)
26 integer :: x1
[*], x2
[*]
31 subroutine sub2 (y1
, y2
)
32 integer :: y1
[*], y2
[*]
35 if (y1
/= 42 .or
. y2
/= 2) call abort ()
40 subroutine sub_opt (z
)
41 integer, optional
:: z
[*]
43 if (z
/= -99) call abort ()
46 end subroutine sub_opt
50 ! SCAN TREE DUMP AND CLEANUP
54 ! sub (integer(kind=4) * restrict x1, integer(kind=4) * restrict x2,
55 ! void * restrict caf_token.4, integer(kind=8) caf_offset.5,
56 ! void * restrict caf_token.6, integer(kind=8) caf_offset.7)
58 ! { dg-final { scan-tree-dump-times "sub \\(integer.kind=4. . restrict x1, integer.kind=4. . restrict x2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
62 ! sub2 (integer(kind=4) * restrict y1, integer(kind=4) * restrict y2,
63 ! void * restrict caf_token.0, integer(kind=8) caf_offset.1,
64 ! void * restrict caf_token.2, integer(kind=8) caf_offset.3)
66 ! { dg-final { scan-tree-dump-times "sub2 \\(integer.kind=4. . restrict y1, integer.kind=4. . restrict y2, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+, void . restrict caf_token.\[0-9\]+, integer.kind=.. caf_offset.\[0-9\]+\\)" 1 "original" } }
70 ! sub ((integer(kind=4) *) caf, &caf_dt->b, caf_token.9, 0, caf_token.10, 4);
72 ! { dg-final { scan-tree-dump-times "sub \\(\[^,\]*caf, &caf_dt->b, caf_token.\[0-9\]+, 0, caf_token.\[0-9\]+, 4\\)" 1 "original" } }
74 ! sub2 ((integer(kind=4) *) x1, (integer(kind=4) *) x2,
75 ! caf_token.4, NON_LVALUE_EXPR <caf_offset.5>,
76 ! caf_token.6, NON_LVALUE_EXPR <caf_offset.7>);
78 ! { dg-final { scan-tree-dump-times "sub2 \\(\[^,\]*x1, \[^,\]*x2, caf_token.\[0-9]+, \[^,\]*caf_offset\[^,\]*, caf_token.\[0-9\]+, \[^,\]*caf_offset\[^,\]*\\)" 1 "original" } }
82 ! { dg-final { scan-tree-dump-times "sub_opt \\(0B, 0B, 0\\)" 1 "original" } }
86 ! { dg-final { scan-tree-dump-times "sub_opt \\(.integer.kind=4. .. caf, caf_token.\[0-9\]+, 0\\)" 1 "original" } }