! RUN: bbc -emit-hlfir -fcuda %s -o - | FileCheck %s ! Test lowering of program local variables. Make sure CUDA device variables are ! not lowered as global. program test integer, device :: a(10) integer, unified :: u(10) integer, allocatable, pinned :: p(:) real, device, target :: t(10) integer :: b(10) integer :: i print*,i end ! CHECK-LABEL: func.func @_QQmain() ! CHECK: cuf.alloc !fir.array<10xi32> {bindc_name = "a", data_attr = #cuf.cuda, uniq_name = "_QFEa"} -> !fir.ref> ! CHECK: fir.address_of(@_QFEb) : !fir.ref> ! CHECK: %[[ALLOCA:.*]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"} ! CHECK: hlfir.declare %[[ALLOCA]] {uniq_name = "_QFEi"} : (!fir.ref) -> (!fir.ref, !fir.ref) ! CHECK: cuf.alloc !fir.box>> {bindc_name = "p", data_attr = #cuf.cuda, uniq_name = "_QFEp"} -> !fir.ref>>> ! CHECK: cuf.alloc !fir.array<10xf32> {bindc_name = "t", data_attr = #cuf.cuda, uniq_name = "_QFEt"} -> !fir.ref> ! CHECK: cuf.alloc !fir.array<10xi32> {bindc_name = "u", data_attr = #cuf.cuda, uniq_name = "_QFEu"} -> !fir.ref> ! CHECK-NOT: fir.global internal @_QFEa {data_attr = #cuf.cuda} : !fir.array<10xi32> {{{$}} ! CHECK: fir.global internal @_QFEb {alignment = 64 : i64} : !fir.array<10xi32> {{{$}} ! CHECK-NOT: fir.global internal @_QFEu {data_attr = #cuf.cuda}