brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · c2def11 Raw
24 lines · plain
1!RUN: %flang_fc1 -emit-hlfir %s -o - | FileCheck %s2 3!CHECK-LABEL: func.func @_QPhostnm_test4!CHECK-SAME:    %[[dummyHn:.*]]: !fir.boxchar<1> {fir.bindc_name = "hn"}) -> i32 {5integer function hostnm_test(hn)6  CHARACTER(len=255) :: hn7 8  ! Check that _FortranAHostnm is called with boxed char 255, some other char9  ! string of variable length (source file path) and some integer (source line)10  !CHECK-DAG:   %[[func_result:.*]] = fir.alloca i32 {bindc_name = "hostnm_test", uniq_name = "_QFhostnm_testEhostnm_test"}11  !CHECK-DAG:   %[[func_result_decl:.*]]:{{.*}} = hlfir.declare %[[func_result]] {uniq_name = "_QFhostnm_testEhostnm_test"} : {{.*}}fir.ref<i32>{{.*}}12  !CHECK-DAG:   %[[line:.*]] = arith.constant {{.*}} : i3213  !CHECK-DAG:   %[[hn:.*]] = fir.convert {{.*}} (!fir.box<!fir.char<1,255>>) -> !fir.box<none>14  !CHECK-DAG:   %[[src_path:.*]] = fir.convert {{.*}} (!fir.ref<!fir.char<1,{{.*}} -> !fir.ref<i8>15  !CHECK:     %[[hn_result:.*]] = fir.call @_FortranAHostnm(%[[hn]], %[[src_path]], %[[line]])16  !CHECK-SAME:  -> i3217 18  ! Check _FortranAHostnm result code handling19  !CHECK-DAG:   hlfir.assign %[[hn_result]] to %[[func_result_decl]]{{.*}}i32{{.*}}20  !CHECK-DAG:   %[[load_result:.*]] = fir.load %[[func_result_decl]]{{.*}}i32{{.*}}21  !CHECK:     return %[[load_result]] : i3222  hostnm_test = hostnm(hn)23end function hostnm_test24