! RUN: %flang_fc1 -emit-hlfir %s -o - | FileCheck %s ! CHECK-LABEL: func.func @_QPallocated_test ! CHECK-SAME: %[[arg0:.*]]: !fir.ref>>{{.*}}, %[[arg1:.*]]: !fir.ref>>>{{.*}}) subroutine allocated_test(scalar, array) real, allocatable :: scalar, array(:) ! CHECK-DAG: %[[decl0:.*]]:2 = hlfir.declare %[[arg0]] {{.*}} ! CHECK-DAG: %[[decl1:.*]]:2 = hlfir.declare %[[arg1]] {{.*}} ! CHECK: %[[scalar:.*]] = fir.load %[[decl0]]#0 : !fir.ref>> ! CHECK: %[[addr0:.*]] = fir.box_addr %[[scalar]] : (!fir.box>) -> !fir.heap ! CHECK: %[[addrToInt0:.*]] = fir.convert %[[addr0]] ! CHECK: cmpi ne, %[[addrToInt0]], %c0{{.*}} print *, allocated(scalar) ! CHECK: %[[array:.*]] = fir.load %[[decl1]]#0 : !fir.ref>>> ! CHECK: %[[addr1:.*]] = fir.box_addr %[[array]] : (!fir.box>>) -> !fir.heap> ! CHECK: %[[addrToInt1:.*]] = fir.convert %[[addr1]] ! CHECK: cmpi ne, %[[addrToInt1]], %c0{{.*}} print *, allocated(array) end subroutine