diff --git a/flang/lib/Evaluate/tools.cpp b/flang/lib/Evaluate/tools.cpp index 9c059b08dd41c..3b2c4f9f56016 100644 --- a/flang/lib/Evaluate/tools.cpp +++ b/flang/lib/Evaluate/tools.cpp @@ -1129,7 +1129,7 @@ struct CollectCudaSymbolsHelper : public SetTraverse, uniq_name = "_QFsub24Em"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: %[[D1:.*]] = hlfir.designate %[[D]]#0 (%c1{{.*}}) : (!fir.ref>, index) -> !fir.ref ! CHECK: cuf.data_transfer %[[D1]] to %[[M]]#0 {transfer_kind = #cuf.cuda_transfer} : !fir.ref, !fir.ref + +subroutine sub25() + use mod1 + integer :: i + real(8) :: c + + do i = 1, 10 + c = c + p(i) + end do +end + +! CHECK-LABEL: func.func @_QPsub25() +! CHECK: fir.allocmem !fir.array, %15#1 {bindc_name = ".tmp", uniq_name = ""} +! CHECK: cuf.data_transfer %{{.*}} to %{{.*}} {transfer_kind = #cuf.cuda_transfer} : !fir.ref>>>, !fir.box> +! CHECK: hlfir.assign %{{.*}} to %{{.*}} : f64, !fir.ref +! CHECK: fir.freemem %{{.*}} : !fir.heap>