xref: /llvm-project/flang/test/Lower/call-suspect.f90 (revision e6618aae43012d3759f326ac6527744885825331)
1! Note: flang will issue warnings for the following subroutines. These
2! are accepted regardless to maintain backwards compatibility with
3! other Fortran implementations.
4
5! RUN: bbc -emit-fir %s -o - | FileCheck %s
6
7! CHECK-LABEL: func @_QPs1() {
8! CHECK: fir.convert %{{.*}} : ((!fir.boxchar<1>) -> ()) -> ((!fir.ref<f32>) -> ())
9
10! Pass a REAL by reference to a subroutine expecting a CHARACTER
11subroutine s1
12  call s3(r)
13end subroutine s1
14
15! CHECK-LABEL: func @_QPs2(
16! CHECK: fir.convert %{{.*}} : ((!fir.boxchar<1>) -> ()) -> ((!fir.ref<f32>) -> ())
17
18! Pass a REAL, POINTER data reference to a subroutine expecting a CHARACTER
19subroutine s2(p)
20  real, pointer :: p
21  call s3(p)
22end subroutine s2
23
24! CHECK-LABEL: func @_QPs3(
25! CHECK-SAME: !fir.boxchar<1>
26subroutine s3(c)
27  character(8) c
28end subroutine s3
29