! RUN: bbc -emit-hlfir -fcuda %S/cuda-mod.cuf ! RUN: bbc -emit-hlfir -fcuda %s -o - | FileCheck %s ! Test importing module containing variable and subroutine with CUDA attributes. subroutine sub1() use cuf_mod ! md = 1.0 ! currently a TODO end ! CHECK-LABEL: func.func @_QPsub1() ! CHECK: %[[ADDR:.*]] = fir.address_of(@_QMcuf_modEmd) : !fir.ref ! CHECK: %{{.*}}:2 = hlfir.declare %[[ADDR]] {data_attr = #cuf.cuda, uniq_name = "_QMcuf_modEmd"} : (!fir.ref) -> (!fir.ref, !fir.ref) attributes(device) subroutine sub2() use cuf_mod call devsub() end ! CHECK-LABEL: func.func @_QPsub2() attributes {cuf.proc_attr = #cuf.cuda_proc} ! CHECK: fir.call @_QMcuf_modPdevsub() ! CHECK-LABEL: fir.global @_QMcuf_modEmd {data_attr = #cuf.cuda} : f32 ! CHECK-LABEL: func.func private @_QMcuf_modPdevsub() attributes {cuf.proc_attr = #cuf.cuda_proc}