50 lines · plain
1! RUN: %flang_fc1 -fdebug-unparse -x cuda %s 2>&1 | FileCheck %s2include "cuf-sanity-common"3!CHECK: SUBROUTINE atcuf4!CHECK: END SUBROUTINE5!CHECK: SUBROUTINE cudadefd6!CHECK: END SUBROUTINE7!CHECK: MODULE m8!CHECK: REAL, ALLOCATABLE, PINNED :: pa(:)9!CHECK: CONTAINS10!CHECK: ATTRIBUTES(DEVICE) SUBROUTINE devicesub11!CHECK: END SUBROUTINE12!CHECK: ATTRIBUTES(DEVICE) REAL FUNCTION devicefunc()13!CHECK: devicefunc=1._414!CHECK: END FUNCTION15!CHECK: ATTRIBUTES(GLOBAL) SUBROUTINE globalsub16!CHECK: END SUBROUTINE17!CHECK: ATTRIBUTES(GRID_GLOBAL) SUBROUTINE gridglobalsub18!CHECK: END SUBROUTINE19!CHECK: ATTRIBUTES(HOST) SUBROUTINE hostsub20!CHECK: END SUBROUTINE21!CHECK: ATTRIBUTES(GLOBAL) LAUNCH_BOUNDS(1_4, 2_4) SUBROUTINE lbsub22!CHECK: END SUBROUTINE23!CHECK: ATTRIBUTES(GLOBAL) CLUSTER_DIMS(1_4, 2_4, 3_4) SUBROUTINE cdsub24!CHECK: END SUBROUTINE25!CHECK: ATTRIBUTES(DEVICE) SUBROUTINE attrs26!CHECK: ATTRIBUTES(DEVICE) devx127!CHECK: REAL, DEVICE :: devx228!CHECK: END SUBROUTINE29!CHECK: SUBROUTINE test30!CHECK: LOGICAL ispinned31!CHECK: !$CUF KERNEL DO (1_4) <<<*,*,STREAM=1_4>>>32!CHECK: DO j=1_4,10_433!CHECK: END DO34!CHECK: !$CUF KERNEL DO <<<1_4,(2_4,3_4),STREAM=1_4>>>35!CHECK: DO j=1_4,10_436!CHECK: END DO37!CHECK: !$CUF KERNEL DO <<<*,*>>> REDUCE(+:x,y) REDUCE(*:z)38!CHECK: DO j=1_4,10_439!CHECK: x=x+a(int(j,kind=8))40!CHECK: y=y+a(int(j,kind=8))41!CHECK: z=z*a(int(j,kind=8))42!CHECK: END DO43!CHECK: CALL globalsub<<<1_4,2_4>>>()44!CHECK: CALL globalsub<<<1_4,2_4,3_4>>>()45!CHECK: CALL globalsub<<<1_4,2_4,3_4,4_4>>>()46!CHECK: CALL globalsub<<<-1_4,5_4>>>()47!CHECK: ALLOCATE(pa(32_4), PINNED=ispinned)48!CHECK: END SUBROUTINE49!CHECK: END MODULE50