blob: a27becc32c0f69a97dbfc3a4d0c42d304168924a [file] [edit]
! RUN: bbc -emit-hlfir -fcuda %s -o - | FileCheck %s
! RUN: bbc --dump-symbols -fcuda %s -o - | FileCheck %s --check-prefix=SYMBOLS
module m
! SYMBOLS-LABEL: Module scope: m
type device_array
real(kind=8), allocatable, dimension(:), device :: ad
real(kind=8), pointer, dimension(:), device :: pd
end type
! SYMBOLS: .c.device_array, SAVE, TARGET (CompilerCreated, ReadOnly): ObjectEntity type: TYPE(component) shape: 0_8:1_8 init:[component::component(name=.n.ad,genre=3_1,category=2_1,kind=8_1,rank=1_1,memoryspace=1_1,offset=0_8
type managed_array
real(kind=8), allocatable, dimension(:), managed :: ad
real(kind=8), pointer, dimension(:), managed :: pd
end type
! SYMBOLS: .c.managed_array, SAVE, TARGET (CompilerCreated, ReadOnly): ObjectEntity type: TYPE(component) shape: 0_8:1_8 init:[component::component(name=.n.ad,genre=3_1,category=2_1,kind=8_1,rank=1_1,memoryspace=2_1,offset=0_8
type unified_array
real(kind=8), allocatable, dimension(:), unified :: ad
real(kind=8), pointer, dimension(:), unified :: pd
end type
! SYMBOLS: .c.unified_array, SAVE, TARGET (CompilerCreated, ReadOnly): ObjectEntity type: TYPE(component) shape: 0_8:1_8 init:[component::component(name=.n.ad,genre=3_1,category=2_1,kind=8_1,rank=1_1,memoryspace=3_1
type(device_array), allocatable :: da(:)
type(managed_array), allocatable :: ma(:)
type(unified_array), allocatable :: ua(:)
end module
program main
use m
type(device_array) :: local
type(managed_array) :: local_ma
type(unified_array) :: local_ua
end
! CHECK-LABEL: func.func @_QQmain()
! CHECK-COUNT-3: fir.call @_FortranAInitialize
! CHECK-LABEL: fir.global linkonce_odr @_QMmE.c.device_array
! CHECK: fir.insert_value %{{.*}}, %c1{{.*}}, ["memoryspace"
! CHECK-LABEL: fir.global linkonce_odr @_QMmE.c.managed_array
! CHECK: fir.insert_value %{{.*}}, %c2{{.*}}, ["memoryspace"
! CHECK-LABEL: fir.global linkonce_odr @_QMmE.c.unified_array
! CHECK: fir.insert_value %{{.*}}, %c3{{.*}}, ["memoryspace"