! This test checks correct lowering when OpenACC routine directive is placed ! before implicit none. ! RUN: bbc -fopenacc -emit-hlfir %s -o - | FileCheck %s module dummy_mod contains subroutine sub1(i) !$acc routine seq integer :: i end subroutine end module program test_acc_routine use dummy_mod !$acc routine(sub2) seq implicit none integer :: i contains subroutine sub2() end subroutine end program ! CHECK: acc.routine @acc_routine_1 func(@_QFPsub2) seq ! CHECK: acc.routine @acc_routine_0 func(@_QMdummy_modPsub1) seq ! CHECK: func.func @_QMdummy_modPsub1(%arg0: !fir.ref {fir.bindc_name = "i"}) attributes {acc.routine_info = #acc.routine_info<[@acc_routine_0]>} ! CHECK: func.func @_QQmain() attributes {fir.bindc_name = "test_acc_routine"} ! CHECK: func.func @_QFPsub2() attributes {acc.routine_info = #acc.routine_info<[@acc_routine_1]>}