1702198fcSValentin Clement (バレンタイン クレメン)! RUN: bbc -emit-hlfir -fcuda %s -o - | FileCheck %s 2702198fcSValentin Clement (バレンタイン クレメン) 38c3b6bd0SValentin Clement (バレンタイン クレメン)! Test lowering of program local variables. Make sure CUDA device variables are 48c3b6bd0SValentin Clement (バレンタイン クレメン)! not lowered as global. 5702198fcSValentin Clement (バレンタイン クレメン) 6702198fcSValentin Clement (バレンタイン クレメン)program test 7702198fcSValentin Clement (バレンタイン クレメン) integer, device :: a(10) 88c3b6bd0SValentin Clement (バレンタイン クレメン) integer, unified :: u(10) 97c364112SValentin Clement (バレンタイン クレメン) integer, allocatable, pinned :: p(:) 10*f8656204SValentin Clement (バレンタイン クレメン) real, device, target :: t(10) 11702198fcSValentin Clement (バレンタイン クレメン) integer :: b(10) 12702198fcSValentin Clement (バレンタイン クレメン) integer :: i 13702198fcSValentin Clement (バレンタイン クレメン) print*,i 14702198fcSValentin Clement (バレンタイン クレメン)end 15702198fcSValentin Clement (バレンタイン クレメン) 16702198fcSValentin Clement (バレンタイン クレメン)! CHECK-LABEL: func.func @_QQmain() 178c3b6bd0SValentin Clement (バレンタイン クレメン)! CHECK: cuf.alloc !fir.array<10xi32> {bindc_name = "a", data_attr = #cuf.cuda<device>, uniq_name = "_QFEa"} -> !fir.ref<!fir.array<10xi32>> 18702198fcSValentin Clement (バレンタイン クレメン)! CHECK: fir.address_of(@_QFEb) : !fir.ref<!fir.array<10xi32>> 19702198fcSValentin Clement (バレンタイン クレメン)! CHECK: %[[ALLOCA:.*]] = fir.alloca i32 {bindc_name = "i", uniq_name = "_QFEi"} 20702198fcSValentin Clement (バレンタイン クレメン)! CHECK: hlfir.declare %[[ALLOCA]] {uniq_name = "_QFEi"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>) 217c364112SValentin Clement (バレンタイン クレメン)! CHECK: cuf.alloc !fir.box<!fir.heap<!fir.array<?xi32>>> {bindc_name = "p", data_attr = #cuf.cuda<pinned>, uniq_name = "_QFEp"} -> !fir.ref<!fir.box<!fir.heap<!fir.array<?xi32>>>> 22*f8656204SValentin Clement (バレンタイン クレメン)! CHECK: cuf.alloc !fir.array<10xf32> {bindc_name = "t", data_attr = #cuf.cuda<device>, uniq_name = "_QFEt"} -> !fir.ref<!fir.array<10xf32>> 23702198fcSValentin Clement (バレンタイン クレメン) 248c3b6bd0SValentin Clement (バレンタイン クレメン)! CHECK-NOT: fir.global internal @_QFEa {data_attr = #cuf.cuda<device>} : !fir.array<10xi32> {{{$}} 25702198fcSValentin Clement (バレンタイン クレメン)! CHECK: fir.global internal @_QFEb : !fir.array<10xi32> {{{$}} 268c3b6bd0SValentin Clement (バレンタイン クレメン)! CHECK: fir.global internal @_QFEu {data_attr = #cuf.cuda<unified>} : !fir.array<10xi32> 27