1f35f863aSjeanPerier! RUN: bbc -hlfir=false %s -o - | FileCheck %s 2baa42c16SValentin Clement 3baa42c16SValentin Clement! CHECK-LABEL: _QQmain 4baa42c16SValentin Clementprogram test1 5baa42c16SValentin Clement ! CHECK-DAG: %[[TMP:.*]] = fir.alloca 6baa42c16SValentin Clement ! CHECK-DAG: %[[TEN:.*]] = arith.constant 7baa42c16SValentin Clement ! CHECK: fir.store %[[TEN]] to %[[TMP]] 8baa42c16SValentin Clement ! CHECK-NEXT: fir.call @_QFPfoo 9baa42c16SValentin Clement call foo(10) 10baa42c16SValentin Clementcontains 11baa42c16SValentin Clement 12*06f775a8SjeanPerier! CHECK-LABEL: func private @_QFPfoo 13baa42c16SValentin Clementsubroutine foo(avar1) 14baa42c16SValentin Clement integer :: avar1 15baa42c16SValentin Clement! integer :: my_data, my_data2 16baa42c16SValentin Clement! DATA my_data / 150 / 17baa42c16SValentin Clement! DATA my_data2 / 150 / 18baa42c16SValentin Clement! print *, my_data, my_data2 19baa42c16SValentin Clement print *, avar1 20baa42c16SValentin Clementend subroutine 21baa42c16SValentin Clement! CHECK: } 22baa42c16SValentin Clementend program test1 23baa42c16SValentin Clement 24baa42c16SValentin Clement! CHECK-LABEL: func @_QPsub2 25baa42c16SValentin Clementfunction sub2(r) 26baa42c16SValentin Clement real :: r(20) 27baa42c16SValentin Clement ! CHECK: %[[coor:.*]] = fir.coordinate_of %arg0 284cc9437aSTom Eccles ! CHECK: = fir.call @_QPf(%[[coor]]) {{.*}}: (!fir.ref<f32>) -> f32 29baa42c16SValentin Clement sub2 = f(r(1)) 30baa42c16SValentin Clement ! CHECK: return %{{.*}} : f32 31baa42c16SValentin Clementend function sub2 32baa42c16SValentin Clement 33baa42c16SValentin Clement! Test TARGET attribute lowering 34baa42c16SValentin Clement! CHECK-LABEL: func @_QPtest_target( 35baa42c16SValentin Clement! CHECK-SAME: !fir.ref<i32> {fir.bindc_name = "i", fir.target}, 36baa42c16SValentin Clement! CHECK-SAME: !fir.box<!fir.array<?xf32>> {fir.bindc_name = "x", fir.target}) 37baa42c16SValentin Clementsubroutine test_target(i, x) 38baa42c16SValentin Clement integer, target :: i 39baa42c16SValentin Clement real, target :: x(:) 40baa42c16SValentin Clement print *, xs, xa 41baa42c16SValentin Clementend subroutine 42