brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 331e089 Raw
42 lines · plain
1! RUN: bbc -hlfir=false %s -o - | FileCheck %s2 3! CHECK-LABEL: _QQmain4program test15  ! CHECK-DAG: %[[TMP:.*]] = fir.alloca6  ! CHECK-DAG: %[[TEN:.*]] = arith.constant7  ! CHECK: fir.store %[[TEN]] to %[[TMP]]8  ! CHECK-NEXT: fir.call @_QFPfoo9  call foo(10)10contains11 12! CHECK-LABEL: func private @_QFPfoo13subroutine foo(avar1)14  integer :: avar115!  integer :: my_data, my_data216!  DATA my_data / 150 /17!  DATA my_data2 / 150 /18!  print *, my_data, my_data219  print *, avar120end subroutine21! CHECK: }22end program test123 24! CHECK-LABEL: func @_QPsub225function sub2(r)26  real :: r(20)27  ! CHECK: %[[coor:.*]] = fir.coordinate_of %arg028  ! CHECK: = fir.call @_QPf(%[[coor]]) {{.*}}: (!fir.ref<f32>) -> f3229  sub2 = f(r(1))30  ! CHECK: return %{{.*}} : f3231end function sub232 33! Test TARGET attribute lowering34! CHECK-LABEL: func @_QPtest_target(35! CHECK-SAME: !fir.ref<i32> {fir.bindc_name = "i", fir.target},36! CHECK-SAME: !fir.box<!fir.array<?xf32>> {fir.bindc_name = "x", fir.target})37subroutine test_target(i, x)38  integer, target :: i39  real, target :: x(:)40  print *, xs, xa41end subroutine42