xref: /llvm-project/flang/test/Lower/non-standard-extensions.f90 (revision 4cc9437a7e649e2d1a1a47578f6ffb4d420b8d60)
13348c083SValentin Clement! RUN: bbc -emit-fir %s -o - | FileCheck %s
23348c083SValentin Clement
33348c083SValentin Clement! Test lowering of non standard features.
43348c083SValentin Clement
53348c083SValentin Clement! Test mismatch on result type between callee/caller
63348c083SValentin Clement! CHECK-LABEL: func @_QPexpect_i32
73348c083SValentin Clementsubroutine expect_i32()
83348c083SValentin Clement  external :: returns_i32
93348c083SValentin Clement  real(4) :: returns_i32
103348c083SValentin Clement  ! CHECK: %[[funcAddr:.*]] = fir.address_of(@_QPreturns_i32) : () -> i32
113348c083SValentin Clement  ! CHECK: %[[funcCast:.*]] = fir.convert %[[funcAddr]] : (() -> i32) -> (() -> f32)
12*4cc9437aSTom Eccles  ! CHECK: fir.call %[[funcCast]]() {{.*}}: () -> f32
133348c083SValentin Clement  print *, returns_i32()
143348c083SValentin Clementend subroutine
153348c083SValentin Clementinteger(4) function returns_i32()
163348c083SValentin Clementend function
17