! RUN: %flang_fc1 -emit-hlfir %s -o - | FileCheck %s ! CHECK-LABEL: func @_QPtranspose_test( ! CHECK-SAME: %[[mat:.*]]: !fir.ref>{{.*}}) subroutine transpose_test(mat) real :: mat(2,3) call bar_transpose_test(transpose(mat)) ! CHECK: %[[matDecl:.*]]:2 = hlfir.declare %[[mat]](%{{.*}}) {{.*}}{uniq_name = "_QFtranspose_testEmat"} ! CHECK: %[[result:.*]] = hlfir.transpose %[[matDecl]]#0 : (!fir.ref>) -> !hlfir.expr<3x2xf32> ! CHECK: %[[shape:.*]] = hlfir.shape_of %[[result]] : (!hlfir.expr<3x2xf32>) -> !fir.shape<2> ! CHECK: %[[assoc:.*]]:3 = hlfir.associate %[[result]](%[[shape]]) {adapt.valuebyref} ! CHECK: fir.call @_QPbar_transpose_test(%[[assoc]]#0) ! CHECK: hlfir.end_associate %[[assoc]]#1, %[[assoc]]#2 ! CHECK: hlfir.destroy %[[result]] : !hlfir.expr<3x2xf32> end subroutine