24 lines · plain
1! RUN: bbc -emit-fir -hlfir=false %s -o - | FileCheck --check-prefixes=CHECK,CHECK-32 -DDEFAULT_INTEGER_SIZE=32 %s2! bbc doesn't have a way to set the default kinds so we use flang driver3! RUN: %flang_fc1 -fdefault-integer-8 -emit-fir -flang-deprecated-no-hlfir %s -o - | FileCheck --check-prefixes=CHECK,CHECK-64 -DDEFAULT_INTEGER_SIZE=64 %s4 5! CHECK-LABEL: func @_QPexit_test1() {6subroutine exit_test17 call exit()8 ! CHECK: %[[status:.*]] = arith.constant 0 : i[[DEFAULT_INTEGER_SIZE]]9 ! CHECK-64: %[[statusConvert:.*]] = fir.convert %[[status]] : (i64) -> i3210 ! CHECK-32: fir.call @_FortranAExit(%[[status]]) {{.*}}: (i32) -> ()11 ! CHECK-64: fir.call @_FortranAExit(%[[statusConvert]]) {{.*}}: (i32) -> ()12 end subroutine exit_test113 14 ! CHECK-LABEL: func @_QPexit_test2(15 ! CHECK-SAME: %[[statusArg:.*]]: !fir.ref<i[[DEFAULT_INTEGER_SIZE]]>{{.*}}) {16 subroutine exit_test2(status)17 integer :: status18 call exit(status)19 ! CHECK: %[[status:.*]] = fir.load %[[statusArg]] : !fir.ref<i[[DEFAULT_INTEGER_SIZE]]>20 ! CHECK-64: %[[statusConv:.*]] = fir.convert %[[status]] : (i64) -> i3221 ! CHECK-32: fir.call @_FortranAExit(%[[status]]) {{.*}}: (i32) -> ()22 ! CHECK-64: fir.call @_FortranAExit(%[[statusConv]]) {{.*}}: (i32) -> ()23 end subroutine exit_test224