brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · f54fa68 Raw
56 lines · plain
1! RUN: bbc %s -o "-" -emit-fir | FileCheck %s2 3subroutine sub1(a, b)4  integer, intent(in) :: a5  logical :: b6end7 8! Check that arguments are correctly set and no local allocation is happening.9! CHECK-LABEL: func @_QPsub1(10! CHECK-SAME:    %{{.*}}: !fir.ref<i32> {fir.bindc_name = "a"}, %{{.*}}: !fir.ref<!fir.logical<4>> {fir.bindc_name = "b"})11! CHECK-NOT:     fir.alloc12! CHECK:         return13 14subroutine sub2(i)15  integer :: i(2, 5)16end17 18! CHECK-LABEL: func @_QPsub2(19! CHECK-SAME: %{{.*}}: !fir.ref<!fir.array<2x5xi32>>{{.*}})20 21subroutine sub3(i)22  real :: i(2)23end24 25! CHECK-LABEL: func @_QPsub3(26! CHECK-SAME: %{{.*}}: !fir.ref<!fir.array<2xf32>>{{.*}})27 28integer function fct1(a, b)29  integer, intent(in) :: a30  logical :: b31end32 33! CHECK-LABEL: func @_QPfct1(34! CHECK-SAME:    %{{.*}}: !fir.ref<i32> {fir.bindc_name = "a"}, %{{.*}}: !fir.ref<!fir.logical<4>> {fir.bindc_name = "b"}) -> i3235 36real function fct2(i)37  integer :: i(2, 5)38end39 40! CHECK-LABEL: func @_QPfct2(41! CHECK-SAME:    %{{.*}}: !fir.ref<!fir.array<2x5xi32>> {fir.bindc_name = "i"}) -> f3242 43function fct3(i)44  real :: i(2)45end46 47! CHECK-LABEL: func @_QPfct3(48! CHECK-SAME:    %{{.*}}: !fir.ref<!fir.array<2xf32>> {fir.bindc_name = "i"}) -> f3249 50subroutine allocatable_real(x)51  real, allocatable  :: x52end53 54! CHECK-LABEL: func @_QPallocatable_real(55! CHECK-SAME:    %{{.*}}: !fir.ref<!fir.box<!fir.heap<f32>>> {fir.bindc_name = "x"}) {56